我正在进行一项任务,要求我创建一个将信息发送到数据库的表单。 我在连接服务器时遇到问题。
我尝试过使用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没有值没有值
答案 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 ';'
中启用它