Mysql将数据存储为数组

时间:2016-08-03 06:17:22

标签: php mysql

请帮助我理解,因为它给出了

警告: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];

5 个答案:

答案 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)

您应该将row1row 2声明为string array

示例:

$row1 = "one,two,three,four";
$array = explode (",",$row1)

答案 2 :(得分:0)

试试这个:

$row1 = mysql_fetch_row($sql1, MYSQL_ASSOC);  

您使用功能的方式似乎有问题。

注意:{7.0}中不推荐使用mysql_query。相反,应使用MySQLiPDO_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());

另外,我强烈建议使用PDOmysqldepreciated并完全从PHP7移除。

答案 4 :(得分:0)

使用:

while ($row=mysql_fetch_row($sql2)) {
enter code here
}