【发布时间】:2018-06-01 07:30:20
【问题描述】:
发生了最奇怪的事情。我可以在 XAMPP 中很好地运行它。但是当我移动到使用套接字连接的服务器时,它会连接,但我无法插入。而且我想知道它是否由于套接字而我需要以不同的方式做事。我改为= new mysqli,因为mysql_connect 不适用于套接字。但除此之外,我有点失落。当我运行 test.php 时,我得到了
错误:()
Test.PHP
<?php
$dbhost = "localhost";
$socket = ":/diskID/mysql/socket";
$dbname = "TUTORIALS";
$dbusername = "root";
$dbpassword = "password";
$mysqli = new mysqli($dbhost,$dbusername,$dbpassword,$dbname,$socket);
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
$product_name = '"'.$mysqli->real_escape_string('P1234').'"';
//MySqli Insert Query
$insert_row = $mysqli->query("INSERT INTO tutorials_inf (name)VALUES($product_name)");
if ($insert_row) {
print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />';
} else {
die('Error : ('. $mysqli->errno .') '. $mysqli->error);
}
【问题讨论】:
-
无论您如何连接到数据库,查询的语法都是相同的。
mysqli_connect()应该和new mysqli()一样工作。我希望mysql_connect只是一个错字。 -
如果您更改您的
die()调用会很有帮助,这样您就可以判断它是否在new mysqli或$mysqli->query上失败。 -
我不熟悉明确指定套接字,但尝试在开头去掉
:。 -
您遇到了什么错误?
-
enabling exceptions in
mysqli可以检测和解决很多问题,所以错误不容易被忽略。