gpt4 book ai didi

php - 迁移到mysql数据库后查询PHP出错

转载 作者:行者123 更新时间:2023-11-29 20:45:43 24 4
gpt4 key购买 nike

我已经使用 PHP 执行了之前在 mssql 服务器数据库上执行的查询。现在具有相同的表和数据。我使用 mysql 数据库来执行我的查询。但会发生错误。对下面的查询有任何建议,以便可以使用 mysql 数据库执行:

$year = mysql_query("SELECT * FROM education_year ORDER BY id DESC");

if (isset($_GET['year'])){
$educationyear= mysql_fetch_array(mysql_query("SELECT * FROM educationyear WHERE year='{$_GET['year']}'"));
}else {$educationyear = mysql_fetch_array($year);}

$kode['KODE'] = mysql_fetch_array(mysql_query("SELECT KODE FROM educationyear WHERE year='$educationyear'"));

$result = mysql_query("SELECT * FROM Province");
while($row = mysql_fetch_array($result))
{
$xd = mysql_fetch_array(mysql_query("SELECT COUNT (*) AS total FROM child WHERE id_province='{$row['province_code']}' AND education='A'
AND educationyear='{$educationyear['KODE']}'"));
}

错误消息如下:

Notice: Array to string conversion in C:\xampp\htdocs\xy\demo.php on line 19 

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\xy\demo.php on line 20 .

执行$xd查询时的行。

最佳答案

您的代码存在一些问题

1st:当您在双引号字符串中使用数组时,请勿引用数组键。改变

"...WHERE year='{$_GET['year']}..."
"...WHERE id_province='{$row['province_code']}'..."

致:

"...WHERE year='{$_GET[year]}..."
"...WHERE id_province='{$row[province_code]}'..."

第二:下面的设计模式不好:

mysql_fetch_array(mysql_query("SELECT...")

您正在获取mysql_query的结果并将其直接提供给mysql_fetch_array。只要查询成功并返回资源,此操作就有效。如果查询失败,它将返回FALSE并且mysql_fetch_array将触发您看到的错误:

mysql_fetch_array() expects parameter 1 to be resource, boolean given

相反,请确保在继续之前没有错误

$result = mysql_query("SELECT...")
if($result===false){
//Query failed get error from mysql_error($link).
//$link is the result of mysql_connect
}
else{
//now it's safe to fetch results
$record = mysql_fetch_array($result);
}

第三:不要使用mysql_函数。它们已被废弃多年,并已从最新版本的 PHP 中删除。切换到 MySQLi 或 PDO

第四:了解准备好的语句。您直接在查询中使用用户提供的输入 ($_GET['year']),这使您容易受到 SQL 注入(inject)的攻击。<​​/p>

关于php - 迁移到mysql数据库后查询PHP出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com