在sql where子句中没有读取变量

时间:2016-02-13 20:57:55

标签: php mysql

我无法弄清楚为什么下面的$ stylist变量在WHERE子句中不起作用。美发师正确地从$ _POST回声。当我用原始值交换它时,它完美地工作。我尝试用单引号,双引号,花括号和圆点包装$ stylist,但没有任何作用。我完全陷入了困境。非常感谢任何建议。谢谢。

<?php
if($_POST['stylist'] == "") {
$location3 =  get_permalink( get_page_by_path( 'error-stylist' ) );
header("Location: {$location3}");
exit;
}
else { 
$stylist = $_POST['stylist'];
echo "<br/>Stylist: <b>" .$stylist . "</b><br/>";
global $wpdb;
$sql = "SELECT * FROM wp_ctstylists WHERE stylist = '$stylist'";
$row = $wpdb->get_row($sql);
echo "Get row id: " .$row->id;
}
?>

1 个答案:

答案 0 :(得分:1)

快速解决方案:&#39; $造型师&#39;引号:

$sql = "SELECT * FROM wp_ctstylists WHERE stylist = '$stylist'";

但您应该使用预备语句:prepared statements in php