Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 Whole query: select id,name from index_activities where top=0 这个信息分明是数据库报的错!如果 $query = "select id,name from index_activities where top=0"; 可以 而 $query = "select id,name from index_activities where top=$top"; 不可以 这就表示 $top 无值或不是数字
void CDllValidateDlg::ValidateAPerson(char* Name, char* Code)
{
CString post_data;
post_data.Format("userid='%s'&name='%s'",Code,Name); //请求的附加参数
CString result; //返回的结果
CString post_page = "test_id_validater/validateid.php"; //请求的php
PostHttpPage(result,post_page,post_data);
AfxMessageBox(result);
}
而我现在调试不明白的这个HTTP请求,到底哪里不一样,我把原本由变量决定的参数都写死了,仍然返回说mysql请求不正确:
void CDllValidateDlg::getActs(HTREEITEM root)
{
CString post_data="top=0";
// char top[10];
// itoa(ActivitiesTree.GetItemData(root),top,10);
// post_data.Format("top=%s",top);
CString result;
CString post_page = "test_id_validater/GetActivities.php";
// AfxMessageBox("post_page:"+post_page+", "+"post_data:"+post_data);
PostHttpPage(result, post_page, post_data);
AfxMessageBox(result);
……
……
<?phprequire "use_daoru.php";
$top = $_REQUEST['top'];
$query = "select id,name from index_activities where top=0";
$result = mysql_query($query);
//if(!$result){
//$message = 'Invalid query: '.mysql_error()."\n";
//$message.= 'Whole query: '.$query;
//die($message);
//}$num = mysql_num_rows($result);
for($i=0;$i<$num;$i++){
$row = mysql_fetch_row($result);
echo($row[0].":".$row[1].",");
}
?>
原来我写的代码是:
<?phprequire "use_daoru.php";
$top = $_REQUEST['top'];
$query = "select id,name from index_activities where top=$top";
$result = mysql_query($query);
//if(!$result){
//$message = 'Invalid query: '.mysql_error()."\n";
//$message.= 'Whole query: '.$query;
//die($message);
//}$num = mysql_num_rows($result);
for($i=0;$i<$num;$i++){
$row = mysql_fetch_row($result);
echo($row[0].":".$row[1].",");
}
?>
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Whole query:
select id,name from index_activities where top=0
这个信息分明是数据库报的错!如果 $query = "select id,name from index_activities where top=0"; 可以
而 $query = "select id,name from index_activities where top=$top"; 不可以
这就表示 $top 无值或不是数字