$ result不是资源SQL

时间:2014-01-28 19:50:55

标签: php mysql sql insert row

我从一行中选择值,然后将其插入表中。

收到错误: mysql_fetch_array()要求参数1为资源,在第42行上给出布尔值。

35 <?php
36 // Viewing input values from its respected row
37 $query = "SELECT * FROM servers";
38 $result = mysql_query($query);
39
40 echo "<table"; 
41
42 while($row = mysql_fetch_array($result)){
43 echo "<tr><td>" . $row['serverip'] . "</td><td>" ;
44
45 echo "</table>"; 
46
47 mysqli_close();
48
49 }
50 ?>

我被告知这个错误是因为$ result不是资源而引起的。但是我在第38行中配置了$ result。关于导致错误的任何想法?

2 个答案:

答案 0 :(得分:0)

这里有很多问题在起作用。

首先不要使用MySQL,不推荐使用MySQLi isntead

第二次重写您的代码,详见此处:http://us2.php.net/manual/en/mysqli.query.php

您需要在变量

中定义数据库连接
$link = mysqli_connect("localhost", "my_user", "my_password", "my_db");

接下来存储您的查询

$query = "SELECT * FROM servers";

回显您的HTML

 echo "<table>"; //added the closing ">" as you left it out. 

下一步创建一个If语句,以便在数据库中运行查询。

 if ($result = mysqli_query($link, $query)) {

然后添加你的while循环

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

添加表格行

          echo "<tr><td>" . $row['serverip'] . "</td></tr>" ; //changed </td> to </tr>

关闭While循环

     }

释放您的结果集

     mysqli_free_result($result);

关闭if语句

 }

添加错误捕获else语句

 else {

      printf("Errormessage: %s\n", mysqli_error($link));

 }

关闭数据库连接

 mysqli_close($link);

回复你的结束HTML

 echo "</table>";

答案 1 :(得分:-1)

请尝试以下代码:

$row=mysql_fetch_array($result,MYSQL_ASSOC)