发布于2023-12-27 22:24 阅读(293) 评论(0) 点赞(17) 收藏(2)
我对以下代码有问题,我正在尝试编写独立于我的 html 表单的动态查询。就像我不想在查询中的每个字段名称中写入名称一样,我想让它动态化,这就是为什么使用以下方法,但问题就在该代码下面的 foreach 代码块之后
任何其他最好的方法请指导我,我将不胜感激。
foreach(){
}
sql.="";
problem is here this sqli like contains only the last key and values not all the keys and values
结果:
INSERT INTO Patient(patient_cell) values (033480779)';
而我想要这样的结果
INSERT INTO Patient(patient_name,patient_address,patient_pass,patient_cell) values (Saba,Daska,12345,033480779)';
HTML 表单
<form method="post" action="Patient_data.php">
<label>Patient name:</label>
<input type="text" name="patient_name" placeholder="Patient name">
<br>
<label>Patient Address:</label>
<input type="text" name="patient_address" placeholder="Address">
<br>
<label>Patient's Password:</label>
<input type="text" name="patient_pass" placeholder="Password">
<br>
<label>Patient Cell:</label>
<input type="text" name="patient_cell" placeholder="Enter cell no.">
<br>
<input type="submit" value="Create Record" name="Create">
</form>
代码:
$record['patient_name'] = $_POST['patient_name'];
$record['patient_address']=$_POST['patient_address'];
$record['patient_pass']=$_POST['patient_pass'];
$record['patient_cell']=$_POST['patient_cell'];
$dbname= new Db();
$dbname->Add($record);
功能
public function Add($record) {
$var= $record;
$sql.= "INSERT INTO Patient";
foreach ($var as $key => $value) {
$key = "{$key},";
var_dump($key);
$value = "{$value},";
var_dump($value);
}
$sql.="(".substr($key,0,-1).") values (".substr($value,0,-1).")";
function Add($record) {
$var= $record;
$sql.= "INSERT INTO Patient ([%keys%]) values ([%vals%])";
$keys = "";
$vals = "";
foreach ($var as $key => $value) {
if (!empty($keys)) {
$keys .= ",";
}
$keys .= $key;
if (!empty($vals)) {
$vals .= ",";
}
$vals .= $value;
}
$sql = str_replace("[%keys%]", $keys, $sql);
$sql = str_replace("[%vals%]", $vals, $sql);
return $sql;
}
尝试这个函数注意:如果某个字段是字符串,您应该在该字段中添加单引号。
作者:黑洞官方问答小能手
链接:http://www.phpheidong.com/blog/article/550915/7fbd83d5aa780257a6ba/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!