我试图找出某个表单中填写的标题是否已经在数据库中(否则我将在标题中添加一个数字)。但不知何故,下面的代码总是回馈"不存在"。
[my_table_name]当然会被正确的表名更改。 任何人都知道会出现什么问题?
$title = $_POST["title"];
$sql = "SELECT * FROM [my_table_name] WHERE title=$title";
$result = mysqli_query($con,$sql);
if(mysqli_num_rows($result)>0) {
echo "exists";
} else {
echo "doesn't exist";
}
答案 0 :(得分:0)
你的SQL。在 <?php
//if "email" variable is filled out, send email
if (isset($_REQUEST['email'])) {
//Email information
$admin_email = "xyx@submit.com";
$email = $_REQUEST['email'];
$subject = $_REQUEST['subject'];
$id = $_REQUEST['id'];
//send email
mail($admin_email, "$subject", $id, "From:" . $email);
//Email response
echo "Thank you for contacting us!";
}
//if "email" variable is not filled out, display the form
else {
?>
<form method="post">
Name: <input type="text" name="full_name"><br \><br \>
Id: <input type="text" id="id"><br \><br \>
Email id: <input type="email" email="email"><br \><br \>
<input type="submit" value="Submit" />
</form>
<?php
}
?>
上添加单引号:
$title
答案 1 :(得分:0)
没有评论优先,因此写在这里。 问题看起来你没有附上单引号,因为title是一个字符串所以它应该是以下面的方式
$sql = "SELECT * FROM [my_table_name] WHERE title='$title'";
同样放置die语句,以便在出现错误时停止执行。
由于