gpt4 book ai didi

php - 为什么这条SQL处理了两次?

转载 作者:行者123 更新时间:2023-11-29 00:27:51 25 4
gpt4 key购买 nike

基本上,出于某种原因,我的 INSERT 查询的 SQL 处理了两次,我不确定为什么。

这是我的表格:

<form class="form-horizontal" method="POST" action="">
<input id="email" name="email" class="text-style" type="email">
<input id="password" name="password" class="text-style" type="password">
<input id="secret" name="secret" class="text-style" type="text">
<select class="text-style" id="console" name="console">
<option value="XBOX">Xbox 360</option>
<option value="PS3">PS3</option>
</select>
<select class="text-style" id="status" name="status">
<option value="0">Disabled</option>
<option value="1">Enabled</option>
</select>
<button class="btn btn-success pull-right" name="add_account">Add Account</button>
</form>

这是我的 PHP 来处理表单:

if(isset($_POST['add_account'])) {
$data = array(
'email' => base64_encode($_POST['email']),
'password' => base64_encode($_POST['password']),
'secret' => base64_encode($_POST['secret']),
'console' => $_POST['console'],
'status' => $_POST['status'],
'date_added' => date("y-m-d h:i:s"),
'last_check' => date("y-m-d h:i:s")
);
$result = $DB->insert('accounts',$data);
if($result) {
if(!in_array("Account added successfully.", $msgs))
array_push($msgs,"Account added successfully.");
} else {
array_push($msgs,"^Failed to add account.");
}
}

然后是$DB->insert函数

public function insert($table=null,$array_of_values=array()) {
if ($table===null || empty($array_of_values) || !is_array($array_of_values)) return false;
$fields=array(); $values=array();
foreach ($array_of_values as $id => $value) {
$fields[]=$id;
if (is_array($value) && !empty($value[0])) $values[]=$value[0];
else $values[]="'".mysql_real_escape_string($value,$this->connection)."'";
}
$s = "INSERT INTO $table (".implode(',',$fields).') VALUES ('.implode(',',$values).')';
if ($this->runSQL($s)) return true;
return false;
}

这是 runSQL 函数:

public function runSQL($sqlQuery,$possibleError = 0) {
if($sqlQuery=="") {return false;}
mysql_query($sqlQuery);
if(mysql_error()){
return false;
}
return true;
}

最佳答案

您的代码看起来不错,而且似乎没有机会插入两次。能否安装Firebug for Firefox,右键单击窗体->“Inspect element”。转到“网络”并查看表单发布的内容,以及它是否只发布一次?也许有一些 Javascript 试图再次提交表单?

如果一切正常,应该查看您的 DB Insert 函数:

关于php - 为什么这条SQL处理了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18115213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com