【发布时间】:2020-06-28 17:49:02
【问题描述】:
我在 Laravel 中有这样的 SQL 查询:
$PDO = DB::connection('mysql')->getPdo();
$sql = <<< SQLEND
SELECT EXISTS(SELECT * FROM tpalautus where student_id = $id AND hnro=$num) ;
SQLEND;
$allsql = $PDO->prepare($sql);
$allsql->execute();
$result = $allsql->fetchAll((\PDO::FETCH_OBJ));
dd($result);
dd 告诉我:
array:1 [▼
0 => {#345 ▼
+"EXISTS(SELECT * FROM tpalautus where student_id = 4 AND hnro=1)": 0
}
]
我的问题是我希望对这个结果做 if 语句,检查它是 0 还是 1,我该怎么做? 我发现很难选择这个,因为对象键是 SQL 查询语句。 例如 $result[0]->KEY_HERE 不适用于这么长的字符串查询语句。
我可以以某种方式选择我想要的键名吗?还是其他方式?
【问题讨论】:
-
您是否有任何理由不使用 Eloquent ORM,而是在您的代码中暴露了 SQL 注入漏洞?
-
这是一项学校任务,我们先做了 Eloquent,然后我们进行了这个练习,您可以“手动”执行 SQL。
-
我不确定我是否完全理解预期的结果,但您是否检查了 EXISTS w3schools.com/sql/sql_exists.asp 的文档
-
也可能是一个指针:stackoverflow.com/a/41490188/55049