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 && 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。因此,我强烈推荐使用方法一。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:http://hqyman.cn/post/8140.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~