私はあなたから助けを求めています。解決するのが難しい問題を扱っています。今配列が異なるSQLクエリフィルタタイプに対してnullを返す
id:integer, description:character varying(30)
:
SQL1: select id, description from table where description = '1234';
SQL2: select id, description from table where description = 'record-data';
上記それらが実行されたときに正常に動作しているSQL文の両方、以下の表のデータ・タイプの設定があります:
私はSQLのこれらの2つのタイプがあります、私はテーブルに格納されているレコードを持っているdescriptionフィールドは、整数と文字列の値が含まれています。
はここで問題だ各SQLにますprint_rを発行する際に、SQL1は空白になってSQL2は配列要素データ/結果
SQL1: Array()
SQL2: Array([0] => Array
(
[id] => 9
[0] => 9
[description] => record-data
[1] => record-data
)
を返しながら、これらのデータ(複数可)の両方がテーブル内に存在している - 私ができます」私は遭遇した問題を理解しているようです。このシナリオであなたの考えと助けが必要です。
私は自分のデータベースとしてPostgreSQLを使用しています。
ありがとうございます!
private function getPrimIds($val){
$dbh = new PDO("pgsql:dbname=xxxx;host=x.x.x.x", xxx,xxx);
$sql = "select id, description from table where description = '$val'";
$exec = $dbh->prepare($sql);
$exec->execute();
$result = $exec->fetchAll();
print "<br>";
print_r($result);
die();
if(count($result) > 0){
$pr_id = $result[0]["id"];
}
return $pr_id;
}
あなたのPHPコードを共有することはできますか? – malutki5200
@ malutki5200上記を参照してください、ive質問を更新しました。ありがとう! – danteboi
これは、あなたが '' 1234 ''という記述を持っていないことを意味します。 '' 1234 ''や' '1234''などであってもかまいません。だからあなたのテーブルのデータをもう一度チェックしてください –