php中使用内爆变量的select查询有问题吗?
我不知道它是不是复制品 以下是我正在尝试的:php中使用内爆变量的select查询有问题吗?,php,Php,我不知道它是不是复制品 以下是我正在尝试的: <?php session_start(); include('db.php'); $valid_data=$_POST['data']; if(isset($_POST['data'])) { $list = isset($_SESSION['strtpnt1']) ? $_SESSION['strtpnt1'] : array(); $_SESSION['strtpnt1']
<?php
session_start();
include('db.php');
$valid_data=$_POST['data'];
if(isset($_POST['data']))
{
$list = isset($_SESSION['strtpnt1']) ? $_SESSION['strtpnt1'] : array();
$_SESSION['strtpnt1'][] =$valid_data;
$a=implode(',',$_SESSION['strtpnt1']);
}
?>
我没发现有什么不对
当我回显内爆变量时,我发现值如下:
array (size=5)
0 => string 'trivandrum' (length=10)
1 => string 'kochi' (length=5)
2 => string 'nagercoil' (length=9)
3 => string 'thrissur' (length=8)
trivandrum,kochi,nagercoil,thrissur
当我像这样在wampserver phpmyadmin的sql中测试内爆数据时,我可能会得到一条错误消息:
select start from tbl_place where start NOT IN(trivandrum,kochi,nagercoil,thrissur)
错误消息是:
Unknown column 'trivandrum' in 'where clause'
但是,当字符串值被传递时,即“trivandrum”、“kochi”等,查询就会工作
我不知道我的查询出了什么问题……这是查询部分
$sql21 = "select start from tbl_place where start NOT IN('".$a."')";
参数
$a
值中有错误,在()中的中的所有值都应该被引用并用逗号分隔
$a=$_SESSION['strtpnt1'];
$new_a= "'" . implode("','", $a) . "'";
$sql21 = "select start from tbl_place where
start NOT IN($new_a)";
更改代码,如下所示:
$a=implode("','",$_SESSION['strtpnt1']); // ',' => "','"
$sql21 = "select start from tbl_place where start NOT IN('".$a."');";// no change
// NOW the SQL query will became: select start from tbl_place where start NOT IN('trivandrum','kochi','nagercoil','thrissur');
现在它应该可以工作了。现在你可以试试这个,但事先准备好的声明是最好的。您可以使用PDO或MYSQLi。它不适用于您,因为不在列表中需要单独引用并用逗号分隔
$a=$_SESSION['strtpnt1'];
$new_a= "'" . implode("','", $a) . "'";
$sql21 = "select start from tbl_place where
start NOT IN($new_a)";
相似的想法
:
$sql21=“选择从tbl_位置开始,开始位置不在(“$a.”)中”
你会喜欢这样:
$sql21=“选择从tbl_位置开始,开始不在('trivandrum、kochi、nagercoil、thrissur')”
它将被视为一个完整的字符串
您必须在传递变量时执行以下操作
$a=内爆(“,”,$_SESSION['strtpnt1']) 使用prepared statement你的意思是PDO…我不知道mch关于这个…我以前也有同样的问题,从变量中传入值,prepared statement解决了我的问题…我对此一无所知…我是否完全想更改我的mysql查询…还有其他建议…我可以问你一个问题吗?很高兴它对你有用。祝你好运。是的,兄弟,你可以问这个问题吗?这就是为什么我们在SOI如果我想使用PDO,我想在我的所有页面中更改它…抱歉这样问你…我是一个初学者?我想你应该先阅读它k好吧,我现在明白了…你是一个很好的指南…我再次感谢你及时地得到你。。。