不管提交什么数据都是插入图片里面的内容 也就是把name自身插入进去了 没有把name的值插进去 这是为什么? 谁能帮我试一下我的代码呢 谢谢
这是1.php
<code><?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></code>这是2.php
<code><?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>";
}
?></code>不管提交什么数据都是插入图片里面的内容 也就是把name自身插入进去了 没有把name的值插进去 这是为什么? 谁能帮我试一下我的代码呢 谢谢
这是1.php
立即学习“PHP免费学习笔记(深入)”;
对于一个刚进入PHP 开发大门的程序员,最需要的就是一本实用的开发参考书,而不仅仅是各种快速入门的only hello wold。在开发的时候,也要注意到许多技巧和一些“潜规则”。PHP是一门很简单的脚本语言,但是用好它,也要下功夫的。同时,由于PHP 的特性,我一再强调,最NB 的PHP 程序员都不是搞PHP 的。为什么呢?因为PHP 作为一种胶水语言,用于粘合后端 数据库和前端页面,更多需
387
<code><?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></code>这是2.php
<code><?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>";
}
?></code>
既然你使用PDO, 那2.php 的插入逻辑改下:
<code>$sql = "INSERT INTO baidu(type,name,num,site,content) VALUES (:type,:name,:num,:site,:content)";
$stmt = $pdo->prepare($sql);
$stmt->execute(array(':type' => $_POST['type'], ':name' => ....));
</code>
额,其实我也是小白,'{$_POST['name']}' 这里面的name旁边的引号需不需要转义,因为外面已经有引号了,我没试过,会不会是这个问题
表单都没传值(value),提交之后打印出来看下数据是否正确
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号