PHPでJetを使用しています。テキスト フィールドのクエリは簡単ですが、主キーが整数で、正しい文字列を取得できません。私は次のことを試しました:
SELECT * FROM Table1 WHERE 'FullName' = 'ABNER AVERY' 失敗しました!
SELECT * FROM Table1 WHERE FullName = 'ABNER AVERY' 成功、正しい表示:
(ÀoRows returned: -1
Key = INDI_ID Value = 64
Key = Given Value = ABNER
Key = Surname Value = AVERY
Key = Birth Value = 28 MAY 1712
Key = BirthPlace Value = Groton, New London, Connecticut, USA
Key = Death Value = 13 AUG 1771
Key = DeathPlace Value = Montville, New London, Connecticut, USA
Key = Mother Value = ELIZABETH BILL
Key = Father Value = JONATHAN AVERY
Key = Spouse1 Value = AMY FOX
Key = Marriage1 Value = 22 MAY 1740
SELECT * FROM Table1 WHERE INDI_ID =64 / "SELECT * FROM Table1 WHERE \"INDI_ID\"=64" エラーなし、表示なし
SELECT * FROM Table1 WHERE INDI_ID = 64 / SELECT * FROM Table1 WHERE INDI_ID=64 エラー "(Ào" 表示なし
SELECT * FROM Table1 WHERE INDI_ID='64' 警告: odbc_exec(): SQL エラー: [Microsoft][ODBC Microsoft Access Driver] 条件式のデータ型が一致しません。C:\xampp\htdocs\averykin の SQLExecDirect で SQL 状態 22005 \testdb.php 行 10 22005
SELECT * FROM Table1 WHERE INDI_ID=\"64\" 警告: odbc_exec(): SQL エラー: [Microsoft][ODBC Microsoft Access Driver] パラメータが少なすぎます。予想される 1.、C:\xampp\htdocs\averykin\testdb.php の SQLExecDirect の SQL 状態 07001 10 行目 07001
列 INDI_ID は INTEGER 型です 列 FullName は VARCHAR 型です 列名は VARCHAR 型です 列 ギブンは VARCHAR 型です 列 性別は VARCHAR 型です 列 Birth は VARCHAR 型です PHP は次のとおりです。
<?php
$conn=odbc_connect('genealogy','','');//dsn
$id=2;
$n=(int)$id;
ini_set ( 'odbc.defaultlrl' , '65536' );
$sql="SELECT * FROM Table1 WHERE INDI_ID='64'";echo $sql."</br>";
//
//FullName = 'ABNER AVERY'
//=#27-Sep-50# finds dates equal to 27 September 1950
$result=odbc_exec($conn,$sql);echo odbc_error($conn);
if (odbc_fetch_row($result))
{
$assoc=array();
while($user_detail = odbc_fetch_array($result) ) {
$assoc = array_push_assoc($assoc, 'INDI_ID', $user_detail["INDI_ID"]);
$assoc = array_push_assoc($assoc, 'Given', $user_detail["Given"]);