使用PHP连接到MYSQL时出错

时间:2013-11-19 15:13:54

标签: php mysql

我正在进行一项任务,要求我创建一个将信息发送到数据库的表单。 我在连接服务器时遇到问题。

我尝试过使用mysql_connect和mysqli_connect,但都无法正常工作。

mysql_connect错误: 警告:mysql_connect():连接超时

mysqli_connect错误: 致命错误:调用未定义的函数mysqli_connect()

                    $connect=mysql_connect("server.com","username","password","database")
                    or die("Failed to connect to server");
                    mysql_query("INSERT INTO client (title,fname,lname,organization,email,phone,tshirt) VALUES ($title,$fname,$lname,$org,$email,$phone,$tshirt)");

                    $tabledata = mysql_query("SELECT * FROM client");
                    echo "<table>
                    <tr>
                    <th>Title</th>
                    <th>First Name</th>
                    <th>Last Name</th>
                    <th>Organization</th>
                    <th>Email</th>
                    <th>Phone</th>
                    <th>TShirt</th>
                    </tr>";
                    while($row = mysql_fetch_array($tabledata)){
                            echo "<tr>";
                            echo "<td>" . $row['title']  . "</td>";
                            echo "<td>" . $row['fname']  . "</td>";
                            echo "<td>" . $row['lname']  . "</td>";
                            echo "<td>" . $row['org']    . "</td>";
                            echo "<td>" . $row['email']  . "</td>";
                            echo "<td>" . $row['phone']  . "</td>";
                            echo "<td>" . $row['tshirt'] . "</td>";
                            echo "</tr>";
                    }
                    echo "</table>";
                    mysql_close($connect);

来自PHP INFO的信息

MySQL的

启用MySQL支持 活动持久链接0 活动链接0 客户端API版本mysqlnd 5.0.10 - 20111026 - $ Id:e707c415db32080b3752b232487a435ee0372157 $

PDO

启用PDO支持 PDO驱动程序sqlite

PDO_SQLITE

启用了SQLite 3.x的PDO驱动程序 SQLite Library 3.7.7.1

sqlite3的

启用了SQLite3支持 SQLite3模块版本0.7 SQLite Library 3.7.7.1

指令本地价值主值 sqlite3.extension_dir没有值没有值

5 个答案:

答案 0 :(得分:1)

首先,确保mysql正在运行,如果已经运行,那么无论如何我都会尝试为你的php环境安装mysql扩展,只是为了确保:

sudo apt-get install php5-mysql libapache2-mod-auth-mysql

此外,您还希望使用mysqli_*,而不是mysql_*

尝试安装后,只需从那里重启apache即可。

答案 1 :(得分:0)

请使用 PDO::__construct() mysqli_connect ,但在您的问题中

尝试:

$connect=mysql_connect("server.com","username","password");
mysql_select_db("database");

答案 2 :(得分:0)

首先,您是在本地还是外部连接到数据库?如果您在本地连接,mysql_connect();的参数将如下所示 mysql_connect('localhost', 'username', 'password');

然后:

mysql_select_db('your_db') 

答案 3 :(得分:0)

“server.com”这是您尝试连接的真实内容吗?您是在本地计算机上连接到mysql还是在外部?尝试从php服务器telnet:

telnet <remote db name/IP> 3306

如果失败,则会出现网络/防火墙问题。或者数据库没有正在侦听该端口或整个网络。在远程数据库上执行netstat以确认: Linux的

netstat -an | grep LISTENING

你应该看到:3306,如果它正在监听默认端口。

答案 4 :(得分:0)

检查你是否在php ini文件中启用了mysqli.dll

<?php phpinfo(); ?>

如果没有在dll name

的php.ini文件//remove ';'中启用它

for more info to check