连接到 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 服务器的主要内容,如果未能解决你的问题,请参考以下文章

如果 mysql 数据库驻留在 wamp 服务器中,如何将 django 项目连接到 mysql 数据库?

从 JAVA(eclipse)连接到 MySQL(wamp 服务器)时出现“文件名、目录名或卷标语法不正确”错误

无法将 Wamp MySQL 数据库连接到 Android Studio

主机 'localhost' 不允许连接到这个 MySQL 服务器

无法在“localhost”端口 587 连接到邮件服务器,验证 php.ini 中的“SMTP”和“smtp_port”设置或在 wamp 服务器中使用 ini_set()

phpMyAdmin 尝试连接到 MySQL 服务器,但服务器拒绝连接