Php 无法连接到MySQL,错误代码?

Php 无法连接到MySQL,错误代码?,php,mysql,phpmyadmin,localhost,wamp,Php,Mysql,Phpmyadmin,Localhost,Wamp,我已尝试连接到我的数据库,但没有任何效果 这是我创建的代码: $name ='testdb'; $user = 'root'; $password = ''; $host = 'localhost'; $link = new mysqli($name, $user, $password, $host); $name = $_POST['name']; $message = $_POST['message']; $mail = $_POST ['mail']; $name = $link-&

我已尝试连接到我的数据库,但没有任何效果

这是我创建的代码:

$name ='testdb';
$user = 'root';
$password = '';
$host = 'localhost';

$link = new mysqli($name, $user, $password, $host);

$name = $_POST['name'];
$message = $_POST['message'];
$mail = $_POST ['mail'];

$name = $link->real_escape_string($_POST['name']);

$message = $link->real_escape_string($_POST['message']);

$mail = $link->real_escape_string($_POST['mail']);

$sql = "INSERT INTO test (Name, Message, Mail) VALUES ('$name','$message', '$mail')";

$result = $link->query($sql);
我已经仔细检查了所有的拼写。
有人能给我一些提示吗?我可能是瞎了。

似乎您没有正确初始化
mysqli
连接

error_reporting(E_ALL);//display all errors   

$name ='testdb';
$user = 'root';
$password = '';
$host = 'localhost';

$link = new mysqli($host, $user, $password, $name);

Use prepared statements(Prevents SQL injection)

$sql = "INSERT INTO test (Name, Message, Mail) VALUES (?,?,?)";//placeholders (3placeholders for 3values)
$statement = $link->prepare($sql);//prepare query. returns true/false
$statement->bind_param('sss',$name, $message, $mail);//you dont need to escape anymore
$statement->execute(); //execute safely   

mysqli
的第一个参数是主机名,您交换了
hostname
databasename

您还可以使用prepared语句,以防止

是一种用于高效地重复执行相同(或类似)SQL语句的功能


请使用下面的代码,它将帮助您

$name ='testdb';
$user = 'root';
$password = '';
$host = 'localhost';

$link = new mysqli($host,$user,$password,$name);
// Check connection
if ($link->connect_error) {
    die("Connection failed: " . $link->connect_error);
} 
$name = $_POST['name'];
$message = $_POST['message'];
$mail = $_POST ['mail'];

$name = $link->real_escape_string($_POST['name']);

$message = $link->real_escape_string($_POST['message']);

$mail = $link->real_escape_string($_POST['mail']);

$sql = "INSERT INTO test (Name, Message, Mail) VALUES ('$name','$message', '$mail')";



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

$link->close();
$name='testdb';
$user='root';
$password='';
$host='localhost';
$link=newmysqli($host、$user、$password、$name);
//检查连接
如果($link->connect\u错误){
die(“连接失败:”.$link->connect\U错误);
} 
$name=$_POST['name'];
$message=$_POST['message'];
$mail=$_POST['mail'];
$name=$link->real_escape_字符串($_POST['name']);
$message=$link->real\u escape\u字符串($\u POST['message']);
$mail=$link->real\u escape\u字符串($\u POST['mail']);
$sql=“插入测试(名称、消息、邮件)值(“$Name”、“$Message”、“$Mail”)”;
如果($link->query($sql)==TRUE){
echo“新记录创建成功”;
}否则{
echo“Error:”.$sql.“
”$link->Error; } $link->close();
要学习PHP和MYSQL的基本知识,请参考此链接

首先,您应该启用(如果尚未启用),因为它将帮助您了解问题。
$sql = "INSERT INTO test (Name, Message, Mail) VALUES (?,? ?)";
$stmt =  $link->prepare($sql);
$stmt->bind_param("sss",$name, $message, $mail);
$result = $stmt->execute();
if ($result) {
    // query was successful
}else {
    // query failure
}
$name ='testdb';
$user = 'root';
$password = '';
$host = 'localhost';

$link = new mysqli($host,$user,$password,$name);
// Check connection
if ($link->connect_error) {
    die("Connection failed: " . $link->connect_error);
} 
$name = $_POST['name'];
$message = $_POST['message'];
$mail = $_POST ['mail'];

$name = $link->real_escape_string($_POST['name']);

$message = $link->real_escape_string($_POST['message']);

$mail = $link->real_escape_string($_POST['mail']);

$sql = "INSERT INTO test (Name, Message, Mail) VALUES ('$name','$message', '$mail')";



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

$link->close();