如何解决mySQL错误-查询为空
| 我似乎找不到根源的Starnge问题, 我正在使用jqgrid提交数据以进行更新编辑和删除到我的页面server.php 因为有时值是空的,所以我在switch语句下为update / insert函数编写了代码。 在运行switch语句之前,我有为mySQL生成更新和插入语句的代码。 在插入语句运行之前,我回显了返回的SQL调用:my insert = INSERT INTO mapdata_mdt (id_etp,geoaddr_mdt,active_mdt,flag_mdt) VALUES(1,\'n11hl\',1,1 )
据我可以确定多数民众赞成在一个有效的SQL查询???那么为什么会出现以下错误:
Error: Query was empty
我对此感到困惑,因此任何指针将不胜感激。
完整的代码如下:
if (!function_exists(\"GetSQLValueString\")) {
function GetSQLValueString($theValue,$theType,$theDefinedValue = \"\",$theNotDefinedValue = \"\")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists(\"mysql_real_escape_string\") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case \"text\":
$theValue = ($theValue != \"\") ? \"\'\" . $theValue . \"\'\" : \"NULL\";
break;
case \"long\":
case \"int\":
$theValue = ($theValue != \"\") ? intval($theValue) : \"NULL\";
break;
case \"double\":
$theValue = ($theValue != \"\") ? \"\'\" . doubleval($theValue) . \"\'\" : \"NULL\";
break;
case \"date\":
$theValue = ($theValue != \"\") ? \"\'\" . $theValue . \"\'\" : \"NULL\";
break;
case \"defined\":
$theValue = ($theValue != \"\") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
//get formdata
$fdOper = $_POST[\'oper\'];
$myKeys = array();
$myValues = array();
$myID = GetSQLValueString($_POST[\'id\'],\'int\');
if(isset($_POST[\'id_etp\'])){
if ($_POST[\'id_etp\'] !=\'\'){
array_push($myKeys,\'id_etp\');
array_push($myValues,GetSQLValueString($_POST[\'id_etp\'],\'int\'));
};
};
if(isset($_POST[\'displayaddr_mdt\'])){
if ($_POST[\'displayaddr_mdt\'] !=\'\'){
array_push($myKeys,\'displayaddr_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'displayaddr_mdt\'],\'text\'));
};
};
if(isset($_POST[\'geoaddr_mdt\'])){
if ($_POST[\'geoaddr_mdt\'] !=\'\'){
array_push($myKeys,\'geoaddr_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'geoaddr_mdt\'],\'text\'));
};
};
if(isset($_POST[\'lat_mdt\'])){
if ($_POST[\'lat_mdt\'] !=\'\'){
array_push($myKeys,\'lat_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'lat_mdt\'],\'text\'));
};
};
if(isset($_POST[\'lng_mdt\'])){
if ($_POST[\'lng_mdt\'] !=\'\'){
array_push($myKeys,\'lng_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'lng_mdt\'],\'text\'));
};
};
if(isset($_POST[\'description_mdt\'])){
if ($_POST[\'description_mdt\'] !=\'\'){
array_push($myKeys,\'description_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'description_mdt\'],\'text\'));
};
};
if(isset($_POST[\'website_mdt\'])){
if ($_POST[\'website_mdt\'] !=\'\'){
array_push($myKeys,\'website_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'website_mdt\'],\'text\'));
};
};
if(isset($_POST[\'email_mdt\'])){
if ($_POST[\'email_mdt\'] !=\'\'){
array_push($myKeys,\'email_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'email_mdt\'],\'text\'));
};
};
if(isset($_POST[\'telephone_mdt\'])){
if ($_POST[\'telephone_mdt\'] !=\'\'){
array_push($myKeys,\'telephone_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'telephone_mdt\'],\'text\'));
};
};
if(isset($_POST[\'active_mdt\'])){
if ($_POST[\'active_mdt\'] !=\'\'){
array_push($myKeys,\'active_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'active_mdt\'],\'int\'));
};
};
if(isset($_POST[\'flag_mdt\'])){
if ($_POST[\'flag_mdt\'] !=\'\'){
array_push($myKeys,\'flag_mdt\');
array_push($myValues,GetSQLValueString($_POST[\'flag_mdt\'],\'int\'));
};
};
$keyCount = count($myKeys);
$valCount = count($myValues);
$insertKeyStr =\'\';
$insertValStr = \'\';
$insertKeys = \'\';
$insertVals = \'\';
$updateStr = \'\';
$myUpdate = \'\';
$myInsert = \'\';
if($keyCount == $valCount){
echo(\'Number of keys: \'.$keyCount.\' matches number of values: \'.$valCount.\'\');
//generate our sql
for ( $i = 0; $i <= $keyCount-1; $i++) {
$insertKeys .= $myKeys[$i].\",\"; // generates list of keys for insert
$insertVals .= \"\".$myValues[$i].\",\"; //generates list of values for insert
$updateStr .= $myKeys[$i] . \" = \" . $myValues[$i] . \",\";
}
//strip last comma from strings
$insertKeys = substr($insertKeys,-1);
$insertVals = substr($insertVals,-1);
$updateStr = substr($updateStr,-1);
$myInsert = \"INSERT INTO mapdata_mdt ($insertKeys) VALUES($insertVals)\";
$myUpdate = \"UPDATE mapdata_mdt SET $updateStr WHERE id_mdt = $myID\";
}else{
echo(\'Number of keys: \'.$keyCount.\' does not match number of values: \'.$valCount.\'\');
}
switch ($fdOper) {
case \'edit\':
echo(\'my update = \'.$myUpdate);
if (!mysql_query(mysql_query($myUpdate,$growthConn))){
die(\'Error: \' . mysql_error());
}else{
echo(\'Update ok\');
};
break;
case \'add\':
echo(\'my insert = \'.$myInsert);
if (!mysql_query(mysql_query($myInsert,$growth_conn))){
die(\'Error: \' . mysql_error());
}else{
echo(\'Insert ok\');
};
break;
case \'delete\':
mysql_query(\"delete from mapdata_mdt where id_mdt= $myID\");
break;
}
解决方法
您有
mysql_query
呼叫mysql_query
:
if (!mysql_query(mysql_query($myInsert,$growth_conn))){
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。