PHP通过foreach循环向数据库中写入表单项的值的疑问?

PHP通过foreach循环向数据库中写入表单项的值的疑问?,第1张

建议楼主把SQL语句显示出来,自然就明白问题在哪里了,我试着简单说一下,假设你的USER数据表有三个字段(name、age、sex),_POST提交数据也是这三个字段的,假设POST的值分别是abc、18、男,那么帖子的PHP会执行下面的三个SQL语句:

INSERT INTO USER(name) VALUES(abc)

INSERT INTO USER(age) VALUES(18)

INSERT INTO USER(sex) VALUES(男)

现在明白了吧,一、三两句会语法错误,英文没有在文本字段添加引号,第二句即使执行成功插入的记录只有年龄,姓名、性别为空,如果数据库有限制字段有效性,那么第二句插入也会失败,数据库需要的语句是:

INSERT INTO USER(name,age,sex) VALUES('abc',18,'男')

如果理解了,自然会下面这样写PHP语句:

$sql=<<<END

INSERT INTO USER(name,age,sex)

VALUES('{$_POST['name']}',{$_POST['age']},'{$_POST['sex']}')

END

您好,可参考如下思路,然后结合自己的业务逻辑即可:

<?php

//首先链接数据库

$conn = mysql_connect('主机名','数据库登陆用户名','数据库登陆密码') or die('链接数据库失败')

//选择数据库

mysql_select_db( 'test',$conn )

//假设test数据库中有文章表,article,表有字段 id,title,create_time 那么可采用如下代码循环读出里面数据

//进行SQL查询-查询article中的数据并按照id倒序排列

$sql = 'SELECT *FROM article ORDER BY id DESC'

//获取执行结果

$result = mysql_query( $sql,$conn )

if( !$result ) die( '执行SQL语句失败' )

//循环读出结果集中的数据

while( $row = mysql_fetch_assoc( $result ) )

{

//输出数据

echo $row['id'].'--'.$row['title'].'--'.$row['create_time'].'<br/>'

}

//如果test中有三条数据,比如下列数据

//id title create_time

//1 文章标题1 2014/10/31 14:20

//2 文章标题2 2014/11/01 15:12

//3 文章标题3 2014/11/03 12:10

//那么执行代码后,网页应显示如下:

//3--文章标题3--2014/11/03 12:10

//2--文章标题2--2014/11/01 15:12

//1--文章标题1--2014/10/31 14:20

?>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6916439.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-30
下一篇2023-03-30

发表评论

登录后才能评论

评论列表(0条)

    保存