【发布时间】:2018-02-18 21:30:18
【问题描述】:
我的一个 MySQL 列包含一个连字符。虽然通过 mysql 浏览器测试时查询工作正常,但在使用 php mysqli_fetch_array($result) 时它返回键而不是值。
我正在运行的查询如下所示:
if($test_base_name==='isolation-mer') {
$test_name="`".$ds_channel[$i]."_isolation-mer`";
}
else {
$test_name=$ds_channel[$i]."_isolation-mer";
}
$query="select serial_number, $test_name from table_name";
if($result=mysqli_query($dbc,$query)) {
while($row=mysqli_fetch_arrya($result) {
$sid=$row['serial_number'];
$pass_fail=$row[$test_name];
...
序列号检索成功。但是,$pass_fail 变量总是什么都不检索。测试名称嵌入引号。即使我在各种引号中硬连线键名,它总是检索键而不是值。
这是 PHP 的旧版本,我想知道这是否是问题所在。 Perl 对此没有任何问题。
【问题讨论】:
-
"测试名称嵌入了引号。" 您需要在这里向我们展示实际查询的语法。引号到底是什么意思?像
'这样的普通人,还是打勾`?这里有两种不同的动物。 -
“这是 PHP 的旧版本,我想知道这是否是问题所在。” - 我不认为它是“恐龙”旧版本;如果您在仅发布一个函数的 mysqli_ api 下运行它,则不会。
-
如果你在场,我想从我的要求中得到一些答案。但是,如果您留下了问题,那么如果您的问题以重复或更多的形式结束,请不要感到惊讶。然后,您将需要查阅这些并将其应用于您的代码。如果仍然失败(我倾向于怀疑),请使用旧代码下的新代码更新您的帖子,并包含任何错误,因为您有错误报告和查询
mysqli_error($connection)。