我这里有这段代码:
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/