prepa">
当前位置:Gxlcms > PHP教程 > 我这个代码为什么提交什么数据都插入到数据的内容都一样呢?

我这个代码为什么提交什么数据都插入到数据的内容都一样呢?

时间:2021-07-01 10:21:17 帮助过:17人阅读

不管提交什么数据都是插入图片里面的内容 也就是把name自身插入进去了 没有把name的值插进去 这是为什么?
我在2.php上试了一下 这样
print_r($_POST);
exit();
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
.....
为什么还是把原来的东西插入进去了 还是没变化 这是为什么



这是1.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);
?>





foreach($list as $v){
echo $v['type'].'
';
echo $v['name'].'
';
echo $v['num'].'
';
echo $v['site'].'
';
echo $v['content'].'
';
}
?>








这是2.php

$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 "";
}
?>


回复讨论(解决方案)

2.php 代码都是错误的 if那少右括号
然后你mysql打印出来的数据是之前的
你这里根本就没执行成功

你的2.php错误, 你是想要插入成功之后弹出一个提示吧。

还在纠结这个问题啊。
上次不是说了,你SQL语句拼接得不对。
字符串和变量的拼接有问题,这是基础知识,你得好好补补:

$str = "This is string '". $_POST['name'] . "' some string ";

2.php 代码都是错误的 if那少右括号
然后你mysql打印出来的数据是之前的
你这里根本就没执行成功


不少右括号啊

把if去掉,php执行顺序是从上到下,你为什么要加if ,判断结果是否插入成功也不是这么判断的吧

如果还不对,你在把所有的这些 ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}','{$_POST['content']}')")
post取得的值 手动写上 比如 1 2 3 4 5 ,看看是否能插入 如果还是不能,那就说明前面的
$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");
$pdo->exec 这些错了,一点一点排错呗。


2.php 代码都是错误的 if那少右括号
然后你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 "";}

$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 "";
}

颜色不会编辑 左括号4个 右括号3个、、、

f($pdo->exec("INSERT INTO baidu(
type,
name,
num,
site,
content
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}','{$_POST['content']}')") ){
少了个 ),你的程序有语法错误,不会被执行!

如果程序能正常执行,只是写入库的数据有问题,那就输出SQL语句看看是什么样的。

f($pdo->exec("INSERT INTO baidu(
type,
name,
num,
site,
content
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}','{$_POST['content']}')") ){
少了个 ),你的程序有语法错误,不会被执行!



还是不行

f($pdo->exec("INSERT INTO baidu(
type,
name,
num,
site,
content
)
VALUES ('{$_POST['select']}','{$_POST['name']}','{$_POST['num']}','{$_POST['site']}','{$_POST['content']}')") ){
少了个 ),你的程序有语法错误,不会被执行!


我都不知道为什么我把2.php里面alert那句话删了 为什么还是弹出来提示框来

那就是你还有个 2.php

人气教程排行