이 PDO가 실행되지 않는 이유는 무엇입니까?PDO mysql 선택 쿼리가 실행되지 않음
$statement = $db->prepare("select * from quest where id = :'"+$testno+"'");
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo "Q:".$row["questions"];
"Q"는 표시되지 않습니다.
이 PDO가 실행되지 않는 이유는 무엇입니까?PDO mysql 선택 쿼리가 실행되지 않음
$statement = $db->prepare("select * from quest where id = :'"+$testno+"'");
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo "Q:".$row["questions"];
"Q"는 표시되지 않습니다.
당신은 준비된 SQL에 이름이 자리를 넣어 원하는 값 이후에 바인딩해야합니다
$statement = $db->prepare("select * from quest where id = :id");
$statement->bindParam(':id', $testno, \PDO::PARAM_INT);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo "Q:".$row["questions"];
가정 ID가 정수가 아닌 경우 - \PDO::PARAM_STR
와 \PDO::PARAM_INT
를 교체합니다.
을 잊어 버렸습니다. – RichardBernards
@RichardBernards id는 규칙 상 int로 - - –
@AresDraguna는 사실이 아닙니다 ... 일부 용도 (바코드 등)의 경우, 이드는 영숫자 일 수도 있고 뭔가 다른 것일 수도 있습니다. 제 요지는 100 % 확실성을 가진 질문에서 추론 할 수 없었습니다 ... – RichardBernards
$statement = $db->prepare("select * from quest where id = :testno");
$statement->execute(array(':testno'=>$testno));
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo "Q:".$row["questions"];
구문 분석 오류 : /Library/WebServer/Documents/file.php의 20 행 구문 분석 오류 :::: $ statement-> execute (array (': testno'=> $ testno); – X10nD
@ X10nD 다시 시도하십시오 ... 모든 서두름에서 $ testno를 정수로 정의한 대괄호 – RichardBernards
X10nD @, 간단하게 ... 코드를 아래와 같이 사용 :
$query = "SELECT * FROM quest WHERE id = ?";
$statement = $db->prepare($query);
$statement->bindParam(1,$testno);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo "Q:".$row['questions'];
'때문에 쿼리가 작동하지 않습니다 당신이 실제 값을 넣어 ' "+ $ testno +"' "'하지만 그건이어야합니다 RichardBernards의 응답 에서처럼 대체 할 문자열. –
'+'는 숫자에만 해당됩니다. 문자열 연결 연산자는'.'입니다. – HerrSerker
@HerrSerker id는 숫자입니다. – X10nD