Php “字段列表”中的未知列“”
我正在运行一个PHP中的sql查询,该查询因mysql\u错误而消亡Php “字段列表”中的未知列“”,php,mysql,Php,Mysql,我正在运行一个PHP中的sql查询,该查询因mysql\u错误而消亡 Unknown column '' in 'field list' 查询: SELECT `standard` AS fee FROM `corporation_state_fee` WHERE `stateid` = '8' LIMIT 1 当我在PHPmyadmin中运行查询时,它返回信息而不标记错误 编辑: 我很抱歉没有发布足够的信息;下面是问题所在的整个代码块 switch($lid){
Unknown column '' in 'field list'
查询:
SELECT `standard` AS fee FROM `corporation_state_fee` WHERE `stateid` = '8' LIMIT 1
当我在PHPmyadmin中运行查询时,它返回信息而不标记错误
编辑:
我很抱歉没有发布足够的信息;下面是问题所在的整个代码块
switch($lid){
case '460':
$tbl = $corporation_state_fee_tbl;
break;
case '535':
$tbl = $llc_state_fee_tbl;
break;
default:
return 0;
break;
}
var_dump("SELECT `".$processing."` AS fee FROM `".$tbl."` WHERE `stateid` = '".$state."' LIMIT 1");
$sql = mysql_query("SELECT `".$processing."` AS fee FROM `".$tbl."` WHERE `stateid` = '".$state."' LIMIT 1") or die(mysql_error());
$row = mysql_fetch_array($sql);
$fee = $row['fee'];
include(CONN_DIR."disconnect.php");
输出为:
string83从公司\州\费用中选择标准作为费用,其中州ID='8'限制1
“字段列表”中的未知列
简单的回答是,您发布的查询与生成错误的查询不同
错误消息是否没有给出正在尝试的查询的全文?你确定是这个查询产生了错误吗?可能是同一执行中的另一个。在执行查询之前,请放置以下语句:
die($query);
假设$query包含您的查询,它将准确显示您试图执行的内容
如果一切正常,则在执行查询后立即死亡。如果您没有收到错误,那么您需要在代码中进一步查找问题。让我们在其中添加一些测试和调试输出
switch($lid){
case '460':
$tbl = $corporation_state_fee_tbl;
break;
case '535':
$tbl = $llc_state_fee_tbl;
break;
default:
return 0;
break;
}
if ( !isset($processing, $tbl, $state) ) {
die("something's missing");
}
// hopefully _all_ those variable parts are "safe"?
// use multiple lines so the error location is a bit more expressive
// ... and I find it easier to read this way
$query = "
SELECT
`".$processing."` AS fee
FROM
`".$tbl."`
WHERE
`stateid` = '".$state."'
LIMIT
1
";
// please copy&paste the output of the next line
echo '<pre>Debug: query=', htmlspecialchars($query), '</pre>';
$sql = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_array($sql);
if ( false===$row ) {
// no such record
return 0;
}
$fee = $row['fee'];
include(CONN_DIR."disconnect.php");
您真的确定这确实是从PHP代码发送到数据库的查询吗?将此作为评论,这次^^^我只是编辑了问题,以修复查询中列出的格式错误。现在是时候停止nickel并用少量信息向我们显示了-将更多脚本与查询周围的上下文一起发布,以便我们可以看到发生了什么。试着运行另一个简单的查询,看看会发生什么。尝试选择*FROM corporation\u state\u fee,其中stateid=8,这是mysql\u错误返回的整个字符串。这是脚本中唯一的sql查询。我使用的完全复制和粘贴的PHP是:$sql=mysql\u querySELECT.$processing。作为费用,从。$tbl开始。其中stateid=“..state.”限制1或DIEU错误;我在顶部列出的查询是SELECT.$processing的var_转储字符串。作为费用,从。$tbl开始。其中stateid='.$state.'LIMIT 1运行queryproblem之前的行为$processing未正确设置。抱歉给你们添麻烦了,`'传递了一个空参数,因为$processing是空的,所以mysql试图找到一列