如果标题措辞奇怪,请注意。这是我第一次在这里问什么,而且我对PHP很陌生,所以我很难搞清楚这一点。
基本上,我正在尝试编写一个PHP脚本,允许我从我们的网站更改某个游戏实例的规则,所以我不必每次都进入数据库并运行SQL查询
这是我到目前为止所做的:
public function update_rules()
{
$rules = $this->input->post('rules');
$domains = $this->input->post('domains_multiselect');
$qarr = array();
$sql = "
UPDATE domains
SET rules = ?
WHERE domain_id = ?
";
$qarr[] = $rules;
$qarr[] = $domain_id;
$query = $this->db->query($sql,$qarr);
redirect ("admin/insert_rules");
}
我不确定如何通过substr_replace()更改"?"查询中的占位符能够输入手动键入的规则和domain_id,我认为这将在选择域名时生成。
我可以完全离开这里,但如果有人能指出我某种方向,那就太棒了。谢谢。
答案 0 :(得分:1)
您可以使用命名占位符或位置相关占位符...
//Position dependent:
$stmt = $this->db->prepare("UPDATE domains SET rules = ? WHERE domain_id = ?");
$stmt->bindParam(1, $rules);
$stmt->bindParam(2, $domain_id);
$stmt->execute();
//Named Placeholder:
$stmt = $this->db->prepare("UPDATE domains SET rules = :rules WHERE domain_id = :domain");
$stmt->bindParam(':rules', $rules);
$stmt->bindParam(':domain', $domain_id);
$stmt->execute();