PHPにてコーディングを行なっています。
$rowに詰めた値を利用して
insert分を作るため以下のような記述を行っています
$query = "insert into テーブル名values(";
$query .= ",'".$row['項目名']."'";
これを
rowの値が空白でなかったら
値をつめて
空白であれば
NULLを設定する
というふうに分岐させたいです。
if(isset($row['項目名'])){
$query .= "'".$row['項目名']."')";
}else{
$query .="NULL)";
}
上記の記述をしてみたのですが
うまくいきません。
急ぎで解決したいため、知恵を貸していただけると助かります。
よろしくお願いします。
初心者への回答するには、詳しく回答を書かないと伝わりにくいけど、詳しい回答するには、質問の情報も多くないといけません。
差し当たって、
- 実行環境のPHPのバージョン(書き方によっては動かないこともある)
- MySQLのバージョン
- ['項目名'] なんて曖昧にせずに、そのまま実情に合わせて情報を出す。
- 現在書いたコードの抜粋ではなく可能な限り処理の全体がわかる部分。
最低でもこれくらいの情報は出しましょう。
申し訳ありません。
事情があり、コード全体や項目名等は出せません。
PHPにお詳しいのであれば
下記のisssetの部分が有効に動きそうかだけでも
教えていただけませんでしょうか…。
とても困っています。
if(isset($row['項目名']))
※項目名はnumeric型
※rowには項目名が含まれるテーブルのselect結果が格納されています
この少ないコードでもセキュリティの問題あるし指摘する部分がたくさん。
実行環境のバージョン情報すら出せないなんてあり得ない。
SQL文字列を作るだけの問題であれば、ミニマムプログラムで作れば幾らでも検証できると思うのですが、「有効に動きそうか」というのが質問なら「まず試しては」としか応えようがないです。
そのようにコメント打ってる間に試せます。