因此,我正在尝试创建一个动态 SELECT 查询,该查询将仅显示先前选择并存储在字符串 $stANCol
中的列。
$idServ = 17; //$_GET(Selected);
$queryIsSelected = "SELECT $stANCol FROM camposservico WHERE idServico = ? ;";
$stmt = $mydb->prepare($queryIsSelected);
$stmt->bind_param("i", $idServ);
$stmt->execute();
$stANCol
的回显是
morada, dieta, dataIntervencao, sondaVesical, ecd,
sinaisVitais, riscoQueda, riscoAlergia, riscoTransfusao, riscoMultiRisco, obsQuadro, obs
这些列可能会根据是否选择而改变。
$queryIsSelected
的回显是
SELECT morada, dieta, dataIntervencao, sondaVesical, ecd,
sinaisVitais, riscoQueda, riscoAlergia, riscoTransfusao,
riscoMultiRisco, obsQuadro, obs FROM camposservico WHERE idServico = ? ;
这个查询在 phpMyAdmin 上工作得很好,因此我的问题。我是做错了什么还是不可能在 SELECT 上使用字符串变量?
编辑: 事实证明,这段代码没有任何问题,我的页面上潜伏着一条待处理的语句,它扰乱了这段代码。感谢大家的回复:)
最佳答案
删除;从您的查询
你的:
$queryIsSelected = "SELECT $stANCol FROM camposservico WHERE idServico = ? ;";
删除后;
$queryIsSelected = "SELECT $stANCol FROM camposservico WHERE idServico = ? ";
它将被执行。
关于php - MySQL - 带有变量的 SELECT 查询不会执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22351406/