它没有插入数据,但它说“是”

时间:2015-09-04 11:28:53

标签: 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'];
$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);
}
?>

但它不是插入数据而是回声“是”。 为什么它没有插入我检查了所有输入名称和列名称没有错误

4 个答案:

答案 0 :(得分:2)

是的,这是预期的行为。您的if-else statement看起来像是:

if(mysqli_query($link,$sqlb)) {
// display "no" if query is executed successfully
} else {
// display "yes" if query is not executed successfully
}

mysqli_query()会在失败时返回false,否则会在成功时返回mysqli_result objecttrue

所以,只需交换&#34;是&#34;的位置。和&#34;不&#34;如果您仍然想知道它为什么不起作用,请在else statement中使用以下行:

echo mysqli_error($link);

答案 1 :(得分:0)

如果它回应&#34;是&#34;,那么预计它不会插入数据,对吗?

答案 2 :(得分:0)

您应该使用预先编写的语句,避免使用SQL注入,如果更改数据库,则更容易维护代码...

<uses-sdk
android:minSdkVersion="MNC"
android:targetSdkVersion="MNC" />

此示例已从W3Schools复制并根据您的利益进行了编辑。

有关预备语句的更多信息:http://php.net/manual/en/pdo.prepared-statements.php

答案 3 :(得分:0)

试试这个:

if(mysqli_query($link,$sqlb) === FALSE){
    echo mysqli_error($link);
}else {
    echo "yes";
}