Py学习  »  DATABASE

使用php(mac)插入mysql表时出错

owensteel • 6 年前 • 665 次点击  

目前,我正在尝试生成一些代码来将值插入到表中:

<?php
    error_reporting(E_ALL);
ini_set('display_errors', 'on');

$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database";
$sock = "/tmp/mysql.sock";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname, $sock);
// Check connection
if ($conn->connect_error) {
    echo ("Connection failed: ");
} 

$sql = "INSERT INTO table (firstname, surname)
VALUES ('John', 'Doe')";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>";
}
?>

(某些名称已更改)但当我运行它时(错误显示打开!),上面写着:

警告:mysqli::mysqli()期望参数5很长,第180行/www/sites/545/473/www.example.co.uk/web/page.php中给出的字符串

还有:

警告:mysqli::query():无法在第189行的/www/sites/545/473/www.example.co.uk/web/page.php中获取mysqli 错误:插入表(名字,姓氏)值('john','doe')

在打开php的实时页面上。我不知道为什么会这样?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/39841
文章 [ 1 ]  |  最新文章 6 年前
maio290
Reply   •   1 楼
maio290    7 年前

好吧,如果您阅读错误并查看构造函数,您会发现:

mysqli::__construct ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $passwd = ini_get("mysqli.default_pw") [, string $dbname = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )

您将套接字作为第5个参数发送,而端口是第5个参数。