11
2024
10
00:34:19

mysql 函数系列(如 mysql_connect、mysql_query 等)已经在 PHP 7.0 中被废弃,并在 PHP 8.0 中被完全移除。建议使用 mysqli 或 PDO。

data.php 文件内容如下:


<?php

$conn=mysql_connect("localhost","abc","password"); //连接数据库地址、用户名、密码

mysql_query("set names 'utf8'"); //数据库编码

mysql_select_db("efg"); //数据库名称

?>


index.php 文件内容如下:




<?php

 require("data.php");


// 创建数据库连接

$conn = new mysqli($servername, $username, $password, $dbname);


// 检查连接是否成功

if ($conn->connect_error) {

    die("连接失败: " . $conn->connect_error);

}

$conn->set_charset("utf8");

// SQL 查询,随机选择一条记录

$sql = "SELECT * FROM soul ORDER BY RAND() LIMIT 1";


// 执行查询

$result = $conn->query($sql);


// 关闭数据库连接

$conn->close();

?>


php代码执行不成功



https://github.com/egotong/nows   开源的毒鸡汤网页,代码无法在我的PHP网站跑起来 



原因:  mysql 函数系列(如 mysql_connect、mysql_query 等)已经在 PHP 7.0 中被废弃,并在 PHP 8.0 中被完全移除。

            index.php 文件中存在一些问题,主要是重复连接数据库和未定义变量。您已经在 data.php 文件中使用了 mysql_connect 函数连接数据库,但在 index.php 文件中又尝试使用 mysqli 类重新连接数据库。此外,$servername、$username、$password 和 $dbname 这些变量在 index.php 中没有定义。


解决方法:


为了修复这些问题,您可以选择以下两种方法之一:


‌方法一:使用 mysqli 替换 mysql 函数‌


修改 data.php 文件,使用 mysqli 而不是 mysql 函数:

php

Copy Code

<?php

$servername = "localhost";

$username = "abc";

$password = "password";

$dbname = "efg";


// 创建数据库连接

$conn = new mysqli($servername, $username, $password, $dbname);


// 检查连接是否成功

if ($conn->connect_error) {

    die("连接失败: " . $conn->connect_error);

}


$conn->set_charset("utf8");

?>

修改 index.php 文件,使用 data.php 中已经创建的 $conn 对象:

php

Copy Code

<?php

require("data.php"); // 引入数据库连接文件


// SQL 查询,随机选择一条记录

$sql = "SELECT * FROM soul ORDER BY RAND() LIMIT 1";


// 执行查询

$result = $conn->query($sql);


// 检查是否有结果

if ($result->num_rows > 0) {

    $row = $result->fetch_assoc();

    echo json_encode(array('code' => 1, 'data' => $row['title']), JSON_UNESCAPED_UNICODE);

} else {

    echo json_encode(array('code' => 0, 'data' => '没有找到数据'), JSON_UNESCAPED_UNICODE);

}


// 关闭数据库连接

$conn->close();

?>

‌方法二:继续使用 mysql 函数‌


保留 data.php 文件不变。


修改 index.php 文件,使用 mysql 函数而不是 mysqli 类:


php

Copy Code

<?php

require("data.php"); // 引入数据库连接文件


// SQL 查询,随机选择一条记录

$sql = "SELECT * FROM soul ORDER BY RAND() LIMIT 1";


// 执行查询

$result = mysql_query($sql);


// 检查是否有结果

if ($result &amp;& mysql_num_rows($result) > 0) {

    $row = mysql_fetch_assoc($result);

    echo json_encode(array('code' => 1, 'data' => $row['title']), JSON_UNESCAPED_UNICODE);

} else {

    echo json_encode(array('code' => 0, 'data' => '没有找到数据'), JSON_UNESCAPED_UNICODE);

}


// 关闭数据库连接(对于 mysql_connect,通常不需要显式关闭)

// 但为了好习惯,可以调用 mysql_close($conn);

?>

‌注意‌:mysql 函数系列(如 mysql_connect、mysql_query 等)已经在 PHP 7.0 中被废弃,并在 PHP 8.0 中被完全移除。建议使用 mysqli 或 PDO。因此,我强烈推荐使用方法一。














推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:http://hqyman.cn/post/8140.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: