所以问题是$ check变量总是NULL,即使数据库中已经有一条与我写的SELECT语句相匹配的记录,它仍然为空。我知道这很简单,但我找不到错误。我已经尝试过使用空,isNull,====,但问题是$ check始终为空。为什么它总是空?查询总是返回NULL
$sql = "SELECT * FROM linkedin_lookup WHERE "
."`given-name`='{$table['given_name']}' && "
."`family-name`='{$table['family_name']}' && "
."`location`='{$table['location']}' && "
."`industry`='{$table['industry']}' && "
."`headline`='{$table['headline']}'";
$results = $db->query($sql);
$check = $results->num_rows;
if ($check):
echo "Record already exist";
else:
$sql = "INSERT INTO linkedin_lookup (`given-name`,`family-name`,`location`,`industry`,`headline`,`date_search`) "
."VALUES "
."('{$table['given_name']}',"
."'{$table['family_name']}',"
."'{$table['location']}',"
."'{$table['industry']}',"
."'{$table['headline']}',"
."'{$now}')";
$db->query($sql);
echo "Succesfully inserted record(s)" . '<br />';
endif;
更新我的代码来反映输入,但它仍然接受重复。我的SELECT语句错了吗?我把& &正确,所以它应该扫描所有领域,如果相同。
我总是看到这种类型的问题,您应该阅读[PHP和MySQL的通用数据库调试](http://jason.pureconcepts.net/2013/04/common-debugging-php-mysql /)。 –
你正在使用哪种数据库扩展,'mysqli'? –
我不喜欢这个字符'在PHP脚本。有时候会导致问题提前给我。 – Fallen