Php 它不是插入数据,而是说“是”
我试过这个密码Php 它不是插入数据,而是说“是”,php,sql,Php,Sql,我试过这个密码 <? $link = mysqli_connect('localhost', 'root', '123'); if (!$link) { die('Could not connect: ' . mysqli_error()); } if(isset($_POST['Murad'])){ $db_selected = mysqli_select_db($link,'websiteusers' ); $firstname=$_POST['firstname']; $la
<?
$link = mysqli_connect('localhost', 'root', '123');
if (!$link) {
die('Could not connect: ' . mysqli_error());
}
if(isset($_POST['Murad'])){
$db_selected = mysqli_select_db($link,'websiteusers' );
$firstname=$_POST['firstname'];
$lastname=$_POST['lastname'];
$userName=$_POST['username'];
$password=$_POST['pwd1'];
$email=$_POST['email'];
$sqlb = "INSERT INTO websiteusers (fullname,lastname,userName,password,email)
VALUES ('$firstname', '$lastname', '$userName', '$password', '$email')";
if(mysqli_query($link,$sqlb)){
echo "no";
}else {
echo "yes";
}
mysqli_close($link);
}
?>
但它不是在插入数据,而是回应是的。
为什么不插入?我已经检查了所有输入名称和列名。没有错。如果它回显“是”,则预期它不会插入数据,对吗?是,这是预期的行为。您的if-else语句如下所示:
if(mysqli_query($link,$sqlb)) {
// display "no" if query is executed successfully
} else {
// display "yes" if query is not executed successfully
}
mysqli_查询在失败时将返回false,否则在成功时将返回mysqli_结果对象或true
因此,只需交换yes和no的位置,如果您仍然想知道它为什么不起作用,请在else语句中使用以下行:
您应该使用预搜索语句,避免SQL注入,并且如果更改数据库,则更容易维护代码
<?php
$servername = "localhost";
$username = "root";
$password = "123";
$dbname = "websiteusers";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$query = "INSERT INTO websiteusers (fullname, lastname, userName, password, email)
VALUES (?, ?, ?, ?, ?)";
// prepare and bind
$stmt = $conn->prepare($query);
$stmt->bind_param("sssss", $fullname, $lastname, $username, $password, $email);
// set parameters and execute
$fullname ="Donald Duck";
$lastname = "Duck";
$username = "donalod";
$password = sha1("DonaldDuck1!");
$mail = "donald@duck.com"
$stmt->execute();
$fullname ="Mickey Mouse";
$lastname = "Mouse";
$username = "mickey";
$password = sha1("IloveDaisy");
$mail = "mickey@mouse.org"
$stmt->execute();
echo "New records created successfully";
$stmt->close();
$conn->close();
?>
此示例是为您的利益而复制和编辑的
有关预听语句的更多信息:尝试以下操作:
if(mysqli_query($link,$sqlb) === FALSE){
echo mysqli_error($link);
}else {
echo "yes";
}
不是echo yes,而是echo mysqli_error$link并将结果复制到此处
if(mysqli_query($link,$sqlb) === FALSE){
echo mysqli_error($link);
}else {
echo "yes";
}