【发布时间】:2014-09-27 17:52:45
【问题描述】:
我是第一次做 PHP 编码。我收到以下错误:
错误:
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli, 第 9 行 C:\xampp\htdocs\331002.php 中给出的布尔值
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli, 第 10 行 C:\xampp\htdocs\331002.php 中给出的布尔值
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli, 第 11 行 C:\xampp\htdocs\331002.php 中给出的布尔值
注意:未定义索引:empID in C:\xampp\htdocs\331002.php 上线 12
警告:mysqli_real_escape_string() 期望参数 1 为 mysqli, 第 12 行 C:\xampp\htdocs\331002.php 中给出的布尔值
警告:mysqli_query() 期望参数 1 为 mysqli,布尔值 在第 17 行的 C:\xampp\htdocs\331002.php 中给出
警告:mysqli_error() 期望参数 1 为 mysqli,布尔值 在第 18 行的 C:\xampp\htdocs\331002.php 中给出
这是我的代码:
<?php
$con=mysqli_connect("localhost","root","root","student");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$FName = mysqli_real_escape_string($con, $_POST['firstName']);
$LName = mysqli_real_escape_string($con, $_POST['lastName']);
$Salary = mysqli_real_escape_string($con, $_POST['salary']);
$ID = mysqli_real_escape_string($con, $_POST['empID']);
$sql="INSERT INTO PersonInfo (FName, LName, empID, Salary)
VALUES ('$FName', '$LName','$ID','$Salary')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);
?>
【问题讨论】:
-
我猜 mysqli_connect() 正在返回错误状态(这是一个布尔值,而不是 mysqli 对象)。您可以通过
$con = mysqli_connect("localhost","root","root","student") or die("Connection error: " . mysqli_error($con));轻松测试 -
你在建立mysqli对象($con)时出错