[英]Laravel Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
[英]Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous
我正在進行一個簡單的查詢,但它不起作用,我不知道為什么。 我最近開始熟悉PDO與數據庫的連接。
這是代碼:
連接是:
define("HOST","localhost"); define("USER","root"); define("PASS","password"); define("BASE","portugalforcedb"); try{ $conexao = 'mysql:host='.HOST.';dbname='.BASE; $connect = new PDO($conexao, USER, PASS); $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); }catch(PDOException $erro){ echo $erro->getMessage(); }
然后我創建一個像這樣工作的查詢:
try{ $query = $connect->query("SELECT N.id,N.titulo,N.texto,N.autor,N.data,J.imagem_noticia FROM noticias N JOIN jogo J ON N.jogo_id = J.id WHERE N.publicada =1 ORDER BY N.data DESC LIMIT 4"); }catch(PDOException $erro){ echo $erro->getMessage(); } while($dados = $query->fetch(PDO::FETCH_ASSOC)) {
但后來我在另一個頁面中創建另一個查詢,這樣不起作用:
$id = $_GET['id'];
try{
$query = $connect->prepare("SELECT N.id,N.titulo,N.texto,N.autor,N.data,J.imagem_noticia FROM noticias N JOIN jogo J ON N.jogo_id = J.id WHERE N.publicada =1 AND id=numero");
$query->bindParam('numero',$id,PDO::PARAM_INT);
$query->execute();
}catch(PDOException $erro){
echo $erro->getMessage();
}
$dados = $query->fetch(PDO::FETCH_ASSOC);
我試過了:
$id = $_GET['id'];
try{
$query = $connect->query("SELECT N.id,N.titulo,N.texto,N.autor,N.data,J.imagem_noticia FROM noticias N JOIN jogo J ON N.jogo_id = J.id WHERE N.publicada =1 AND id=numero");
}catch(PDOException $erro){
echo $erro->getMessage();
}
while($dados = $query->fetch(PDO::FETCH_ASSOC))
但然后出現此錯誤:
SQLSTATE [23000]:完整性約束違規:1052 where子句中的列'id'不明確
在查詢結束時id=numero
。 id需要表別名。 它應該是N.id或J.id
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.