gpt4 book ai didi

php - 违反完整性约束 : 1052 Column 'id' in where clause is ambiguous

转载 作者:IT老高 更新时间:2023-10-29 00:14:13 24 4
gpt4 key购买 nike

我正在做一个简单的查询,但它不起作用,我也不知道为什么。我最近开始熟悉 PDO 与数据库的连接。

代码如下:

  1. 连接是:

    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();
    }
  2. 然后我创建一个如下所示的查询:

    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]: Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous

最佳答案

查询结束时 id=numero。 id 需要表别名。应该是 N.id 或 J.id

关于php - 违反完整性约束 : 1052 Column 'id' in where clause is ambiguous,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19274180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com