PDO へのデータ挿入の問題

WBOY
リリース: 2016-06-23 14:12:51
オリジナル
1069 人が閲覧しました

この投稿は、zhuzhaodan によって 2013-06-12 11:45:08 に最終編集されました

	$dsn = 'mysql:host=localhost;dbname=test1';	$db = new PDO($dsn,'root','',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'set names utf8'));	foreach($b as $k=>$v){		$db->exec('INSERT INTO siji (en,cn) VALUES ($v[0],$v[1])');
ログイン後にコピー

$b は、いくつかの文字列情報を含む 2 ビット配列です
1. なぜ VALUES ($v[0],$) なのかv[ 1]) このように書くとデータは挿入されないのでしょうか?変数を特定の値に変更するだけです。変更方法は? 2. exec() 関数のクエリ ステートメントで一重引用符を使用すると、変数を解析する必要がないため、より効率的です。データベースに正常に挿入できなかった場合、
try($db->exec) catch(PDOException e){echo e.getMessage();} を使用すると、エラー メッセージが表示されないのはなぜですか?

ディスカッションへの返信 (解決策)

二重引用符

は二重引用符でのみ置き換えることができ、変数は置き換えることができます


二重引用符

は二重引用符でのみ置き換えることができます。二重引用符を使用しても、データベースに挿入することはできません。 VALUES ($v[0],$v[1]) を特定の値に置き換えることによってのみ、データベースが破損する可能性があります。なぜ


"INSERT INTO siji (en, cn ) VALUES ('$v[0]','$v[1]')"

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート