[SQL] 어떻게 PHP :: PDO를 사용하여 변수 MySQL의 스크립트를 실행하려면?
SQL어떻게 PHP :: PDO를 사용하여 변수 MySQL의 스크립트를 실행하려면?
나는 PDO가 예외를 throw 긴 스크립트를 실행할 수 없습니다입니다 :
SQLSTATE[HY000]: General error
나는 변수를 포함하지 않는 스크립트를 제출하는 경우는 / O 문제 w를 실행합니다. 같은 스크립트는 phpMyAdmin과 인터페이스에서 실행됩니다.
여기 내 코드는 다음과 같습니다
try {
$dsn = "mysql:host=" . DB_SERVER . ";dbname=" . DB_DEFAULT;
$db = new PDO($dsn, DB_USER, DB_PASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$q = $db->query($query);
if (!$q) {
echo $db->errorInfo();
} else {
$rows = $q->fetchAll(PDO::FETCH_ASSOC);
}
} catch (PDOException $e) {
var_dump($e);
}
여기 PDO에 의해 실행되지 않는 몇 가지 테스트입니다 :
SET @ra_LMC:=80.9;
SELECT @ra_LMC;
어떻게 다 줄 스크립트 PDO와 execut해야합니까?
감사 아르 멘.
해결법
-
==============================
1.PDO는 하나 개의 쿼리 () 요청에 여러 문장의 실행을 허용하지 않습니다. 새 쿼리 () 호출로 두 번째 줄 (선택)을 넣을 수 있습니다하지만 당신의 @ra_LMC 변수는 현재 연결에서 볼 수 있어야합니다.
PDO는 하나 개의 쿼리 () 요청에 여러 문장의 실행을 허용하지 않습니다. 새 쿼리 () 호출로 두 번째 줄 (선택)을 넣을 수 있습니다하지만 당신의 @ra_LMC 변수는 현재 연결에서 볼 수 있어야합니다.
전체 스크립트를 읽으려면 파일을 구문 분석 할 필요가 쿼리 ()를 호출하여 각 문을 실행합니다.
-
==============================
2.PDO는 한 번에 하나의 문을 실행할 수 있습니다. 당신은 에테르 세트를 실행하고이 별도의 문으로 선택할 수 있습니다. 또는 당신은 FROM 사용하여 변수를 설정할 수 있습니다.
PDO는 한 번에 하나의 문을 실행할 수 있습니다. 당신은 에테르 세트를 실행하고이 별도의 문으로 선택할 수 있습니다. 또는 당신은 FROM 사용하여 변수를 설정할 수 있습니다.
SELECT @ra_LMC FROM (SELECT @ra_LMC:=80.9) q
from https://stackoverflow.com/questions/4683110/how-to-execute-mysql-script-with-variables-using-phppdo by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 두 날짜 사이의 금요일의 수 (0) | 2020.07.08 |
---|---|
[SQL] 합니까 오라클 롤 오류에 트랜잭션을? (0) | 2020.07.08 |
[SQL] PostgreSQL의 여러 배열의 교차로 (0) | 2020.07.08 |
[SQL] 데이터베이스의 각 테이블의 처음 3 개 행을 선택 (0) | 2020.07.08 |
[SQL] 열 절에 하위 쿼리와 MS SQL 서버 피벗 테이블 (0) | 2020.07.08 |