mysql_fetch_array 中给出的字符串

String given in mysql_fetch_array

$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() expects parameter 1 to be resource, string given,

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

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

$result = $row['result'];

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

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