连接到wamp服务器

时间:2013-08-07 22:42:02

标签: php sql phpmyadmin wamp

我不断收到错误消息:

  

致命错误:在第46行的C:\ wamp \ www \ Website \ index.php中的非对象上调用成员函数execute()

以下是我的代码。怎么可能出错?我现在只使用股票root帐户。

<?php

$dbserver="localhost";
$username="root";
$password="";
$connection=mysql_connect("$dbserver","$username","$password")or die("could not connect to the server");

//execute an SQL statement and return a recordset
$rs = $connection->execute("SELECT product_name FROM products");
$num_columns = $rs->Fields->Count();

echo "<table border='1'>"; 
echo "<tr><th>Name</th></tr>";
while (!$rs->EOF) //looping through the recordset (until End Of File)
{
     echo "<tr>";
     for ($i=0; $i <  $num_columns; $i++) {
         echo "<td><a href=\"product.php?id=" . $rs->Fields('id').value . "\">" . $rs->Fields($i)->value . "</a></td>";
     }
     echo "</tr>";
     $rs->MoveNext();
}
echo "</table>";

//close the recordset and the database connection
$rs->close();
$rs = null;
$conn->close();
$conn = null;
?> 

1 个答案:

答案 0 :(得分:0)

函数mysql_connect返回资源。这意味着变量$connection不是对象,因此您无法在其上调用函数execute。这解释了错误消息。

代码中的大多数与数据库相关的函数调用(FieldsMoveNext,...)似乎都与ADOdb相关。这些不适用于mysql_*函数创建的资源(或行集)。

有关详细信息,请参阅ADOdb的文档和PHP的mysql扩展的文档。

由于不推荐使用PHP的原始mysql扩展,并且不经常更新ADOdb,我建议使用PDO进行数据库访问。