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

kzmpq1sx  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(295)

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

<?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为长字符串,字符串在/www/sites/545/473中给出/www.example.co.uk/web/page.php 第180行
以及:
警告:mysqli::query():无法在/www/sites/545/473中获取mysqli/www.example.co.uk/web/page.php 第189行错误:在表(firstname,姓氏)中插入值('john','doe')
在打开php的live页面上。我不知道为什么会这样?

hfyxw5xn

hfyxw5xn1#

好吧,如果你读了这个错误,看看构造器,你会发现:

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个参数。

相关问题