我得到的错误与mysqli有关

时间:2013-10-15 05:03:48

标签: php sql database hyperlink mysqli

我创建了表单以显示产品列表以及每个产品的两个编辑和删除链接。

请参阅php代码的list_recorder.php页面......

<?php
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password="xxx"; // Mysql password 
$db_name="shopone"; // Database name 
$tbl_name="product"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("shopone")or die("cannot select DB");

$sql="SELECT * FROM product";
$result=mysql_query($sql);
?>

<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>List data from mysql </strong> </td>
</tr>

<tr>
<td align="center"><strong>product name</strong></td>
<td align="center"><strong>category</strong></td>
<td align="center"><strong>retial price</strong></td>
<td align="center"><strong>price</strong></td>
<td align="center"><strong>detail</strong></td>
</tr>

<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td><?php echo $rows['product_name']; ?></td>
<td><?php echo $rows['product_category']; ?></td>
<td><?php echo $rows['product_retail_price']; ?></td>
<td><?php echo $rows['product_price']; ?></td>
<td><?php echo $rows['product_detail']; ?></td>


<td align="center"><a href="update.php?product_id=<? echo $rows['product_id']; ?>">update</a></td>
</tr>

<?php
}
?>

</table>
</td>
</tr>
</table>

<?php
mysql_close();
?>

此列表效果很好,现在我的下一步是编辑以允许我更改产品信息..

请参阅编辑代码页,名为update.php page

<?php
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password="xxx"; // Mysql password 
$db_name="shopone"; // Database name 
$tbl_name="product"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("shopone")or die("cannot select DB");

$sql="SELECT * FROM product";
$result=mysql_query($sql);
?>

<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>List data from mysql </strong> </td>
</tr>

<tr>
<td align="center"><strong>product name</strong></td>
<td align="center"><strong>category</strong></td>
<td align="center"><strong>retial price</strong></td>
<td align="center"><strong>price</strong></td>
<td align="center"><strong>detail</strong></td>
</tr>

<?php
while($rows=mysql_fetch_array($result)){
?>

<tr>
<td><?php echo $rows['product_name']; ?></td>
<td><?php echo $rows['product_category']; ?></td>
<td><?php echo $rows['product_retail_price']; ?></td>
<td><?php echo $rows['product_price']; ?></td>
<td><?php echo $rows['product_detail']; ?></td>


<td align="center"><a href="update.php?product_id=<? echo $rows['product_id']; ?>">update</a></td>
</tr>

<?php
}
?>

</table>
</td>
</tr>
</table>

<?php
mysql_close();
?>

当我运行list_recorder.php页面并按下列表中的一个编辑链接时,我收到的错误就是

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\VertrigoServ\www\shopone\admin\cd\update.php on line 19

与$ rows = mysql_fetch_array($ result)相关;我不确定这个错误意味着什么,我该如何解决呢!

请帮助谢谢。

AM

2 个答案:

答案 0 :(得分:0)

尝试以下每个传递$ result的地方:

$result=mysql_query($sql) or die($sql."<br/><br/>".mysql_error());

这将提供一个错误,引导您找到可能的解决方案。

然后看看这一行:

<td align="center"><a href="update.php?product_id=<? echo $rows['product_id']; ?>">update</a></td>

将开始标记更改为<?php,并确保product_id是数据库中的有效列字段。

答案 1 :(得分:0)

尝试调试您的查询,手动检查...因为您的查询可能会失败 我建议你在剧本中稍作改动

$con=mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("shopone", $con)or die("cannot select DB");

如果一切都很好,那就试试吧