$publication_year = $_GET['publication_year'];
$conn = db_connect('guest');
...
<?php
$query='SELECT DISTINCT publication_id FROM publications ';
if(isset($keyword_label) && isset($publication_year)){
$query.=' WHERE (publication_key_1="'.$keyword_label.'" OR publication_key_2="'.$keyword_label.'" OR publication_key_3="'.$keyword_label.'" OR
publication_key_4="'.$keyword_label.'" OR publication_key_5="'.$keyword_label.'" OR publication_key_6="'.$keyword_label.'" OR
publication_key_7="'.$keyword_label.'") AND publication_year="'.$publication_year.'"';
}
else if(isset($publication_year)){
$query.=' WHERE publication_year="'.$publication_year.'"';
}
else if(isset($keyword_label)){
$query.='WHERE publication_key_1="'.$keyword_label.'" OR publication_key_2="'.$keyword_label.'" OR publication_key_3="'.$keyword_label.'" OR
publication_key_4="'.$keyword_label.'" OR publication_key_5="'.$keyword_label.'" OR publication_key_6="'.$keyword_label.'" OR
publication_key_7="'.$keyword_label.'"';
}
$query.=' ORDER BY publication_year DESC';
$result = $conn->query($query);
if(!$result) {
echo 'Could not run query: ' . mysql_error();
echo mysqli_error($conn);
}
在我的网站上返回
Could not run query:
没有得到确切的错误。
当然,如果我不调试它,我会得到一个空的结果。
你能告诉我为什么会这样吗?
我是LAMP堆栈(apache 2.2.2。,MySQL客户端版本:5.5.32,带有Suhosin-Patch(cli)的PHP 5.3.10-1ubuntu3.8)和phpmyadmin,我加载了我准备好的mysql代码除此之外。
运行查询
SELECT DISTINCT publication_id
FROM publications
ORDER BY publication_year DESC
工作正常并返回结果。
答案 0 :(得分:1)
试试这个
$query='SELECT DISTINCT publication_id FROM publications WHERE 1=1 ';
if(isset($keyword_label) && isset($publication_year)){
$query.=' AND (publication_key_1="'.$keyword_label.'" OR publication_key_2="'.$keyword_label.'" OR publication_key_3="'.$keyword_label.'" OR
publication_key_4="'.$keyword_label.'" OR publication_key_5="'.$keyword_label.'" OR publication_key_6="'.$keyword_label.'" OR
publication_key_7="'.$keyword_label.'") AND publication_year="'.$publication_year.'"';
}
if(isset($publication_year)){
$query.=' AND publication_year="'.$publication_year.'"';
}
if(isset($keyword_label)){
$query.=' AND publication_key_1="'.$keyword_label.'" OR publication_key_2="'.$keyword_label.'" OR publication_key_3="'.$keyword_label.'" OR
publication_key_4="'.$keyword_label.'" OR publication_key_5="'.$keyword_label.'" OR publication_key_6="'.$keyword_label.'" OR
publication_key_7="'.$keyword_label.'"';
}
$query.=' ORDER BY publication_year DESC';
编辑:
尝试更改此
if(!$result) {
到这个
if( $result == false ) {