どのようなデータが送信されたとしても、コードが同じコンテンツをデータに挿入するのはなぜですか?
Jun 20, 2016 pm 12:42 PM 不管提交什么数据都是插入图片里面的内容 也就是把name自身插入进去了 没有把name的值插进去 这是为什么?
我在2.php上试了一下 这样
<?php
print_r($_POST);
exit();
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
.....
为什么还是把原来的东西插入进去了 还是没变化 这是为什么
这是1.php
<?php
$db = new PDO('mysql:host=localhost;dbname=t1', 'root', '',array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'utf8'"));
$rs = $db -> prepare("select * from `baidu`;");
$rs -> execute();
$list = $rs -> fetchAll(PDO::FETCH_ASSOC);
?>
<html>
<head>
</head>
<body>
<div id="content">
<?php
foreach($list as $v){
echo $v['type'].'<br />';
echo $v['name'].'<br />';
echo $v['num'].'<br />';
echo $v['site'].'<br />';
echo $v['content'].'<br />';
}
?>
</div>
<div id="div1">
<form action="2.php" method="post">
<div>
<select name="select">
<option>请选择</option>
<option>111</option>
<option>222</option>
<option>333</option>
<option>444</option>
</select>
<input type="text" id="ipt1" name="name">
<input type="text" id="ipt2" name='num' >
<input type="text" id="ipt3" name="site" >
</div>
<textarea id="txt1" name="content" ></textarea><br />
<button type="submit">发布</button>
</form>
</div>
</body>
</html>
これは 2.php
<?php
$pdo=new PDO( "mysql:host=localhost;dbname=t1","root","");
if($pdo->exec("INSERT INTO baidu(
type,
name,
) num,
サイト,
コンテンツ
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST[' num']}','{$_POST['site']}','{$_POST['content']}')"){
echo "<script>alert('正常に公開されました'); location='1.php';</script>";
}
?>
ディスカッションへの返信 (解決策)
2. 右括弧が欠落している場合は php コードが間違っています
mysql によって出力されるデータは前のデータです
ここではまったく正常に実行されませんでした
2.php エラー、挿入が成功した後にプロンプトをポップアップ表示したいと考えています
まだこの問題に苦しんでいます
前回述べたように、SQL ステートメントが正しく結合されていません。
これは基本的な知識です。
$str = "This is string '". $_POST['name'] . "' some string ";
2. 右括弧が少なすぎる場合、php コードはすべて間違っています
mysql によって出力されたデータは前のデータです
ここでは正常に実行されませんでした全く
右括弧が多いです ああ
PHPの実行順序は上から下です なぜこれは判定方法ではありませんか?
正しくない場合は、これらすべてを追加しますか? ','{$_POST['num']}','{$_POST['site']} ','{$_POST['content']}')")
postで取得した値を手動で書き込む1 2 3 4 5 など、挿入できるかどうかを確認してください。それでも挿入できない場合は、前の
$pdo=new PDO("mysql:host=localhost;dbname=t1","root") について説明します。 ,"");
$pdo->exec これらは間違っています。少しずつトラブルシューティングしてください。
右括弧が欠落している場合、
mysql によって出力されるデータは前のコードです。ここではまったく実行されていません。
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");if($pdo->exec("INSERT INTO baidu(type,name,num,site,content)VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}','{$_POST['content']}')") {echo "<script>alert('发布成功');location='1.php';</script>";}
if<span style="color: #FF00FF;">(</span>$pdo->exec<span style="color: #99CC00; ">(</span> ;"baidu に挿入<span style="color: #000000;">(</span>
タイプ、
名前、
番号、
サイト、
コンテンツ
<span style="color: #000000;">)</span>
VALUES <span style="color: #FF6600;"> /span>'{$_POST[ 'select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}' ,'{$_POST['content ']}'<span style="color: #FF6600;">)</span>"<span style="color: #99CC00;">)< /span>
{
echo "<script>alert('正常に公開されました');location='1.php';</script>";編集されません 左括弧 4 個 右括弧 3 個,,,
f($pdo->exec("INSERT INTO baidu(
name,
num, サイト、コンテンツ
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']} ','{$_POST[ 'site']}','{$_POST['content']}')") ){
Missing )、プログラムには構文エラーがあるため、実行されません。
プログラムは正常に実行できるが、ライブラリに書き込まれたデータに問題がある場合は、SQL 文を出力してどのようになるかを確認します。
f($pdo->exec("INSERT INTO baidu(
名前,
番号,サイト,
コンテンツ
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site' ]}','{$_POST['content']}')") ){
Missing )、プログラムには構文エラーがあるため、実行されません。
まだ動作しません
f($pdo->exec("INSERT INTO baidu(
type,
name,
num,
site,
content
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}' ,'{$_POST['content']}')") ){
が見つかりません )、プログラムには構文エラーがあるため、実行されません。
なぜ 2.php の警告文を削除したのか、またなぜプロンプト ボックスがまだ表示されるのかわかりません
つまり、2.php がまだ残っているということです

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
