PHP에서 ODBC를 사용하여 UPDATE 문에 매개 변수를 바인딩하려하지만 SQL 문이 실패하고 저의 삶에 대해 왜 작동하지 못합니까? 나는 인터넷 검색을 시도했지만 MySQLi 및 PDO의 좋아하는 것과 반대로 PHP에서 ODBC를 사용하는 것에 관한 정보는 거의없는 것으로 보입니다.PHP 변수를 ODBC SQL UPDATE 문에 바인딩합니다.
매개 변수 바인딩에서 찾은 대부분의 예제는 SELECT 문을 사용하지만 차이를 만들 수 없다는 것을 알 수 있습니다. 가장 가까운 대답은 here on stackoverflow입니다. 내가 볼 수있는 한 그들은 내가하고있는 일을하고 있지만 오류가 계속 발생합니다. 최악의 내가하려고 수있는 최악에 오면 내가 그렇게 바인딩 매개 변수를 제거 할 때
이Warning: odbc_execute(): SQL error: [Microsoft][ODBC Driver Manager] SQL data type out of range, SQL state S1004 in SQLBindParameter in C:\xampp\htdocs\work\ajaxdd.php on line 44
코드는 작동 : 여기
$updQuery = "UPDATE Demographic SET dmg_FirstName=? WHERE dmg_ID=?";
$update = odbc_prepare($connect, $updQuery);
$fname = $_POST['firstname'];
$pID = 145100007;
$updResult = odbc_execute($update, array($fname, $pID)) or die (odbc_errormsg());
나는 위의 코드에 점점 계속 오류 발생 : 여기 내 코드입니다 할 수있는 한 최선을 다해 데이터를 위생적으로 처리하지만 분명히 바람직하지 않습니다.
오류 메시지 [여기] (http://odbc.net/api/index.shtml?SQLGetTypeInfo)를 보면, 사용중인 ODBC 드라이버의 버그 일 수 있습니다. PHP가 사용하고있는 data * type * 식별자가 귀하의 실제 값이 아닌 거부되었습니다). ODBC 준비 문은이 점에서 모든 것이 문자열로 묶여 있다는 점에서 매우 제한적입니다. 이상적으로 특정 RDBMS에 PHP API/드라이버를 사용하는 것이 가능합니까? – DaveRandom
불행히도 이것이 사실 인 것처럼 보입니다. PHP 드라이버가있는 4D SQL 서버에 연결해야하지만 날짜가 오래되었습니다. 버려진 것 같습니다. 최근 PHP 버전에서 작동 할 드라이버를 실제로 찾을 수 없습니다. – Roy
PDO ODBC를 사용해 볼 수 있습니까? http://php.net/manual/en/ref.pdo-odbc.php – silkfire