mysql_fetch_array中给出的字符串

时间:2015-04-13 15:16:38

标签: php html mysql row fetch

$con = mysql_connect("localhost","root","");    
if (!$con) {
    die('Could not connect: ' . mysql_error());
}

mysql_select_db("vinzq", $con);
session_start();
$confirmation = $_SESSION['confirm'];

$result = mysql_query("SELECT * FROM reservation WHERE confirmation = '$confirmation'");

while ($row = mysql_fetch_array($result)) {

    $arrival = $row['arrival'];
    $departure = $row['departure'];
    $adults = $row['adults'];
    $child = $row['child']; 
    $nroom = $row['no_room'];
    $result = $row['result'];
    $name = $row['firstname'];
    $last = $row['lastname'];
    $city = $row['city'];
    $zip = $row['zip'];
    $country = $row['country'];
    $password = $row['password'];
    $email = $row['email'];
    $cnumber = $row['contact'];
    $stat= 'Active';
}

我的代码在这里用php编写。在这段代码片段的底部,我使用了html来显示不同的变量。变量的值是正确的,但错误是

  

mysql_fetch_array()期望参数1是资源,字符串给定,

即使它功能正常,仍会弹出。该错误似乎属于while语句行。

1 个答案:

答案 0 :(得分:1)

问题是while循环中的这一行:

$result = $row['result'];

第一次循环时,$result包含mysql_query()的结果。第二次,它包含第一行结果中此字段的值,因此mysql_fetch_array($result)尝试使用此字符串而不是原始查询结果。

为这两个变量使用不同的名称。