连接到 wamp 服务器

Posted

技术标签:

【中文标题】连接到 wamp 服务器【英文标题】:Connect to wamp server 【发布时间】:2013-08-09 12:24:41 【问题描述】:

我不断收到错误消息:

致命错误:在第 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;
?> 

【问题讨论】:

第 46 行在哪里?这是index.php吗? 【参考方案1】:

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

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

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

由于 PHP 的原始 mysql 扩展已弃用且 ADOdb 更新不频繁,我建议您使用 PDO 进行数据库访问。

【讨论】:

以上是关于连接到 wamp 服务器的主要内容,如果未能解决你的问题,请参考以下文章