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

php中文网
发布: 2016-06-20 12:42:10
原创
744人浏览过

不管提交什么数据都是插入图片里面的内容 也就是把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 "<script>alert('发布成功');location='1.php';</script>";
}
?>

阿里云-虚拟数字人
阿里云-虚拟数字人

阿里云-虚拟数字人是什么? ...

阿里云-虚拟数字人 2
查看详情 阿里云-虚拟数字人


回复讨论(解决方案)

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 "<script>alert('发布成功');location='1.php';</script>";}
登录后复制

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

颜色不会编辑 左括号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

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号