現在の状況ですが
クエリ
select * form TB where (BARCODE = $bar)
エラー文
Warning: mssql_query() [function.mssql-query]: message: 型 nvarchar から型 numeric への変換エラー。 (severity 16) in ファイルのパスon line 42
というエラーが出ちゃいました。
42行目はデータベースへの接続でクエリを実行してます。
データ型だろうと思いこうしてみました。
select * form TB where (BARCODE = (string)$bar)
エラー文
'2200001111111' の近くに無効な構文があります。 (severity 15) in ファイルのパス on line 42
ためしにwhere文を除いて実行してみたところ、問題なく出力されました。
where文を使い抽出するにはどのように変更すべきでしょうか。
原因を添えてお願いします。
データベース側のBARCODEフィールドはテキスト型です。
BARCODEはTEXT型ということなので
select * form TB where (BARCODE = '$bar')
シングルクオートで囲みましょう
SQL文を以下のようにしてみてください。
"select * form TB where BARCODE = '{$bar}';"
波カッコが気になり調べてみました。
今回は入れても入れなくても問題ないようですが、ひとつ賢くなりました。
変数を明示するという意味であったようがいいようですね。
解答ありがとうございます。無事解決いたしました。
シングルクオートで囲んだらテキストになるのはわかってたのですが
$barというテキストで送られるもんだと思ってました。
無事解決しました。ありがとうございます。