Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sql where子句中未读取变量_Php_Mysql - Fatal编程技术网

Php sql where子句中未读取变量

Php sql where子句中未读取变量,php,mysql,Php,Mysql,我不明白为什么下面的$Stylest变量在WHERE子句中不起作用$设计师正确地回应了$\u的帖子。当我用原始值交换它时,它工作得非常好。我试过用单引号、双引号、大括号和圆点来包装$Stylest,但都不管用。我完全被困住了。如果您有任何建议,我将不胜感激。多谢各位 <?php if($_POST['stylist'] == "") { $location3 = get_permalink( get_page_by_path( 'error-stylist' ) ); header("L

我不明白为什么下面的$Stylest变量在WHERE子句中不起作用$设计师正确地回应了$\u的帖子。当我用原始值交换它时,它工作得非常好。我试过用单引号、双引号、大括号和圆点来包装$Stylest,但都不管用。我完全被困住了。如果您有任何建议,我将不胜感激。多谢各位

<?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;
}
?>

快速解决方案:“$Styleist”中带引号:

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

但是你应该使用预先准备好的语句:

如果Stylest不是空的,并且它是一个字符串,那么你需要引用一些类似于“SELECT*FROM wp_ctStylests WHERE Stylest='$Stylest'”的东西。谢谢devpro,你已经尝试了所有这些引用变体,但没有成功。你还在搜索……?是的,还在搜索中。我重命名了数据库中的所有名称,以防发生某种冲突,但仍然是相同的。我很迷惑汉克斯·库尔特,。我故意将select语句剥离到最底层,试图隔离问题。我已经试过了所有的报价变体,但到目前为止运气不好。