我试过这段代码
<?
$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);
}
?>
但它不是插入数据而是回声“是”。 为什么它没有插入我检查了所有输入名称和列名称没有错误
答案 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 object
或true
。
所以,只需交换&#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";
}