PDO를 사용하여 4D에서 읽는 데 성공했지만 쓰기는하지 못했습니다. 나는 다음과 같은 오류가 데이터베이스에 값을 삽입 할 때PDO를 사용하여 4D에 쓰기
: 여기
내 코드입니다 : 뭔가 문제와 함께이 있는지SQLSTATE[HY000]: General error: 1248 Failed to execute statement.
<?php
$dsn = 'dsn-info';
$user = 'user-info';
$pswd = 'password';
$db = new PDO($dsn, $user, $pswd);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Display PDO errors
$statement = $db->prepare("INSERT INTO order(dealer, customer) VALUES(:dealer, :customer)");
$statement->execute(array(
"dealer" => "Test Dealer",
"customer" => "Test Customer"
));
?>
그냥 알아 내려고 내 INSERT 문 또는 나에게 서면 허가를주기 위해 사물의 4D면에서 무언가가 변경되어야하는 경우.
ORDER
는 SQL 예약어입니다 그러나,
이
INSERT INTO order(dealer, customer) VALUES(:dealer, :customer)
이 쿼리는 테이블 이름으로 ORDER
을 사용
'Order'이 예약 된 용어 (내가 "4D"에 익숙 해요, 생각)입니다 :
이 테크 팁을 참조하십시오. 이것이 mysql 서브 시스템이라면,'INSERT INTO \'order \'' – chris85
을 잊지 않는 것이 좋을까요? -> array (": dealer"=> "Test Dealer", ": customer"=> "고객 테스트") – YaatSuka
@YaatSuka PDO는 바인딩에 콜론을 자동으로 추가합니다. – chris85