You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在ubah.php中调用query.php里的$qbaru变量替代$ubh?

修改SQL查询调用:从$ubh切换到$qbaru

很简单,你只需要把原来引用$ubh的代码换成$qbaru就可以了,具体修改如下:

原代码:

$r = mysqli_fetch_array(mysqli_query($conn, "$ubh"));

修改后的代码:

$r = mysqli_fetch_array(mysqli_query($conn, $qbaru));

这里我去掉了包裹$ubh的双引号——因为$qbaru本身就是存储完整SQL语句的字符串变量,直接传入mysqli_query即可,加双引号虽然也能运行,但直接使用变量更符合PHP编码规范。

不过要提醒你一个关键问题:当前$qbaru里的kode_product = ''是空值条件,这会导致查询返回空结果(除非存在产品编码为空的记录)。如果你想关联之前$ubh查询里的产品编码,应该把这个条件改成kode_product = '$kode',也就是更新query.php里的$qbaru定义:

$qbaru = "SELECT GROUP_CONCAT(kode_category) FROM ec_product_category WHERE kode_product = '$kode' AND dtcode ='1'";

另外额外提一句:直接把变量拼进SQL语句存在SQL注入风险,如果$kode$kodeParnter是用户输入的内容,建议改用MySQLi预处理语句来规避风险,示例代码如下:

// 预处理查询语句
$stmt = mysqli_prepare($conn, "SELECT GROUP_CONCAT(kode_category) FROM ec_product_category WHERE kode_product = ? AND dtcode = ?");
// 绑定参数(s代表字符串类型,两个参数分别对应$kode和固定值'1')
mysqli_stmt_bind_param($stmt, "ss", $kode, '1');
// 执行查询
mysqli_stmt_execute($stmt);
// 获取结果集
$result = mysqli_stmt_get_result($stmt);
// 取出数据
$r = mysqli_fetch_array($result);

这样的写法不仅更安全,也更健壮。

内容的提问来源于stack exchange,提问作者Helmi Farhan

火山引擎 最新活动