> 백엔드 개발 > PHP 튜토리얼 > 我这个代码为什么提交什么数据都插入到数据的内容都一样呢?

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

WBOY
풀어 주다: 2016-06-20 12:42:10
원래의
661명이 탐색했습니다.

不管提交什么数据都是插入图片里面的内容 也就是把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.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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿