php 用自定义的post数据做预处理提交

亲测成功

1,表单页面

<form name= "myform" method = 'post' action = "yuchuli.php">
商品:<br>
<input type="text" name="title" >
<br>
描述:<br>
<input type="text" name="content" >
<br>
价格:<br>
<input type="text" name="price" >
<br>

<input type="submit">
</form>

 

2,处理页面

<?php
//这是关键处理代码
function bindValue($data = array(),$type=0) {
if (! empty ( $data ) && is_array ( $data )) {
$_res = $fields = $values = $bindArray = $_sqlvls=array ();
foreach ( $data as $key => $val ) {
$fields [] = "`{$key}`";
$values [] = ":" . $key;
$_sqlvls[]="'".$val."'";
$bindArray [":" . $key] = $val;
}
$field = join ( ',', $fields );
$value = join ( ',', $values );
$_sqlvl = join ( ',', $_sqlvls );
$_res = array (
'field' => $field, // 预处理key
'value' => $value, // 预处理格式
'bind' => $bindArray, // 预处理格式数据
'sqlvl'=>@$_sqlvl,
);
}
return $_res;
}

$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "test";

try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// 设置 PDO 错误模式为异常
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$_sql="INSERT INTO think_product ";
$data = $_POST;
$_bind = bindValue ( $data );
$sql = $_sql. "({$_bind['field']}) VALUES({$_bind['value']})";
// 预处理 SQL 并绑定参数
$stmt = $conn->prepare($sql);
$stmt->execute($_bind['bind']);
echo "新记录插入成功";
}
catch(PDOException $e)
{
echo "Error: " . $e->getMessage();
}
$conn = null;
?>

转载于:https://www.cnblogs.com/zhangjian816/p/8710425.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值