num_rows总是返回数据库中没有行(等于我的输入),这不是真的

时间:2016-12-13 09:36:24

标签: php mysql-num-rows

我试图找出某个表单中填写的标题是否已经在数据库中(否则我将在标题中添加一个数字)。但不知何故,下面的代码总是回馈"不存在"。

[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";
}

2 个答案:

答案 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语句,以便在出现错误时停止执行。

由于