PHP インストール プログラムについて小さな質問があります
PHP インストール プログラムを作成し、このページからデータベースを直接生成したいと思いました
SQL ステートメントをそれぞれ配列に割り当てました
$sql[]= create table a.. .";
$sql[]="create table b ...";
$sql[]="create table c ...";
次に、foreach ループを使用します。
foreach( $sql as $val)
{
mysql_query($val);
}
-------------- を実行するには------- -----------------------------
上記のライブラリの構築は問題ありません
それではプログラムにインストールしたいと思います その際、初期データを添付、つまりいくつかの記事を追加しました
$sql[]にinsert文も書きました
しかし記事比較的長く、記事はコードベースであり、競合が発生しやすかったため、失敗しました。アドバイスを求めてください
-----解決策----。 ----------------------------
競合の原因 次のエスケープが行われていません:
$article = "私はジョン";
$sql = "記事に挿入values('" .addslashes($articles) . "')";
------解決策----------------------
発生したエラー メッセージを投稿した方がよいでしょう外。そうでなければ解決策はありません。
mysql_query($val) または die(mysql_error()); // これに変更します
------解決策----------------------
配列に配列を割り当てることができないとはどういう意味ですか?値はおそらく一重引用符と二重引用符に関連していると思います。
------解決策----------------------
ステートメントが複雑な場合は、ステートメントをエスケープできます、特に内部に一重引用符と二重引用符があり、競合が発生します
前述したように、値の割り当てに失敗するなどの問題については、より専門的な説明が必要です
たとえば、報告されたエラーは何ですか?
エラーがない場合は、エラーを出力してみてください。エラーがある場合は、問題が見つかります。
------解決策-------
#4 SQL コマンドには変数の php 表現が含まれています。 $words[]
などなので、array
1 に配置する前に処理する必要があります。php5.3 以降の場合は、
$sqls[ だけで比較的簡単です。 ] =<< ;< 'SQL'
sql コマンド
SQL;
2. それ以外の場合は、各 SQL コマンドをテキスト ファイルに個別に保存してから、それをアセンブルする必要があります。プログラムを使用して
$sqls [] = str_replace('$', '$', file_get_contents('filename'));
もちろん、編集ソフトウェアを使用して $ を $ に手動で置き換えることもできます