请帮助我理解,因为它给出了
警告:mysql_fetch_row()要求参数1为资源,第25行的data.php中给出布尔值 错误 我的代码是
$sql1= mysql_query("SELECT `First Name`, `Address`, `Email`, `Contact No`, `PIN No`, `State`, `Country` FROM $tbl_name3 WHERE EUID='$cuname'");
$sql2= mysql_query("SELECT * FROM $tbl_name3 WHERE EUID='$cuname'");
$row2 = mysql_fetch_row($sql2);
$row1 = mysql_fetch_row($sql1);
$eFirstname = $row1[0];
$eAddress = $row1[1];
$eEmail = $row1[2];
$eContact = $row1[3];
$ePin = $row1[4];
$eState = $row1[5];
$eCountry = $row1[6];
答案 0 :(得分:0)
mysql_query返回如下
对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他语句返回 resultset,mysql_query()在成功时返回资源,或者返回FALSE 错误。
对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等, mysql_query()成功时返回TRUE,错误时返回FALSE。
你应该使用像这样的想法
<?php
$result = mysql_query("SELECT * FROM $tbl_name3 WHERE EUID='$cuname'");
if (!$result) {
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
?>
注意:在PHP 5.5.0中不推荐使用mysql_query,它已在PHP 7.0.0中删除。相反,应该使用MySQLi或PDO_MySQL扩展。此功能的替代方案包括: mysqli_query()或PDO::query()
答案 1 :(得分:0)
您应该将row1
和row 2
声明为string
array
。
示例:
$row1 = "one,two,three,four";
$array = explode (",",$row1)
答案 2 :(得分:0)
试试这个:
$row1 = mysql_fetch_row($sql1, MYSQL_ASSOC);
您使用功能的方式似乎有问题。
注意:{7.0}中不推荐使用mysql_query
。相反,应使用MySQLi
或PDO_MySQL
扩展名。
答案 3 :(得分:0)
嗨,由于某些query
,您的error
似乎没有被执行,这也就是您获得此error
的原因。使用mysql error function
查看query
中的错误。
$sql1= mysql_query("SELECT First Name, Address, Email, Contact No, PIN No, State, Country FROM $tbl_name3 WHERE EUID='$cuname'") or die(mysql_error());
$sql2= mysql_query("SELECT * FROM $tbl_name3 WHERE EUID='$cuname'") die(mysql_error());
另外,我强烈建议使用PDO
,mysql
为depreciated
并完全从PHP7
移除。
答案 4 :(得分:0)
使用:
while ($row=mysql_fetch_row($sql2)) {
enter code here
}