php - 如何使用 php 在 select 中提取 select 的值?

标签 php mysql sql

我这里有这段代码:

if(isset($_POST['possible_new_dd'])){
    $dd = $_POST['possible_new_dd'];
    $id = $_POST['possible_new_dd_id'];
    $sql = mysqli_query($connection, "SELECT SUM(COILS),MACHINE, (SELECT COILS FROM ORDERS WHERE ID='$id') FROM ORDERS WHERE MACHINE=(SELECT MACHINE FROM ORDERS WHERE ID='$id') AND C_DD='$dd';");
    $row = mysqli_fetch_array($sql);
    $json->coils = $row['SUM(COILS)'];
    $json->machine = $row['MACHINE'];
    $json->new_coil = $row['?THE SELECT QUERY?'];
    $j = json_encode($json);
    echo$j;
}

在 json 字符串中我可以读取机器和线圈,但我找不到读取这个位的方法(SELECT COILS FROM ORDERS WHERE ID='$id')

如何将这个值存储到 json 字符串中?

谢谢

最佳答案

最简单的方法是使用别名,例如 MY_COL

$sql = mysqli_query($connection, "SELECT SUM(COILS),MACHINE, 
    (SELECT COILS FROM ORDERS WHERE ID='$id')  AS MY_COL 
FROM ORDERS 
WHERE MACHINE=(SELECT MACHINE FROM ORDERS WHERE ID='$id') AND C_DD='$dd';");

因此您可以轻松访问结果

  $json->my_col= $row['MY_COL'];

但您不应在 SQL 中使用 php var inside。 (您有 sql 注入(inject)的风险)为避免这种情况,您应该使用绑定(bind)参数,因此请查看此功能并重构您的代码

关于php - 如何使用 php 在 select 中提取 select 的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651424/

相关文章:

sql - 错误 : there is no unique constraint matching given keys for referenced table "bar"

sql - 数据库设计,哪个表有外键

sql - 列出另一组记录 x 小时内发生的所有 SQL 记录

php - 使用 PHP 反转 XML 的顺序

php - 1.0000241703257e+14 如何在PHP中转换它,它应该是: 100002417032566

mysql - MySQL 可以将字符串转换为表达式吗?

php - 如何正确地将两个 mysql 表关联在一起

php - Symfony 503 服务在生产环境中不可用

php - 如何根据 Eloquent 已有的图像 id 获取图像信息?

mysql - 单个 SQL 查询