似乎无法从 securityinfo
字段传递任何内容。
for ($k = 1; $k < $fieldscnt; $k++)
{
$selectsecurityname = mysql_query("SELECT `security name` FROM securityinfo WHERE symbol = '$symbol[$k]'") or die(mysql_error());
$securityname = mysql_fetch_array($selectsecurityname);
$sym = $symbol[$k]
echo "<td>$securityname[$sym]</td>";
}
基本上,我想搜索在 symbol
字段中有匹配项的行,然后返回同一行中 securityinfo
字段的值。
最佳答案
PHP 对于如何在带引号的字符串中使用变量有一些限制。所以你不能像现在这样获取数组元素。
此外,当您将变量插入像这样的 SQL 表达式时,您应该确保使用转义。
$selectsecurityname = mysql_query("
SELECT `security name` FROM securityinfo
WHERE symbol = '" . mysql_real_escape_string($symbol[$k]) . "'")
or die(mysql_error());
或者如果这样做更有意义:
$sym = mysql_real_escape_string($symbol[$k]);
$selectsecurityname = mysql_query("
SELECT `security name` FROM securityinfo
WHERE symbol = '{$sym}'")
or die(mysql_error());
关于php - 如何在 PHP 中使用 mySQL WHERE 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2080176/