警告:在homeu914452720domainse-gilius.compublic_htmlsystemstoragefnpzt1uybylmmodificationadminmodelatalogmanagement中遇到一个非数字值。在homeu914452720domainse-gilius.compublic_htmlsystemstoragefnpzt1uybylmmodificationadminmodelcatalogmanufacturer.php第349行遇到一个非数值警告。在homeu914452720domainse-gilius.compublic_htmlsystemstoragefnpzt1uybylmmodificationadminmodelcatalogmanufacturer.php第349行遇到一个非数值。
当我执行删除函数:admincontrollercatalogmanufacturer_download.php时,我得到这个错误。
function delete(){
// var_dump("I AM IN DELETE");
$this->load->model('catalog/manufacturer');
$postData = array();
if(isset($_POST['submitdelete'])){
// var_dump("DELETE SUBMITTED");
$entryID = $_POST['entryID'];// <-- gotta protect from sql injection.
// var_dump($entryID);
$this->model_catalog_manufacturer->deleteManufacturersDownload($entryID);
}
}
如果我var_dump($entryID)给出的结果是:string(1) "5"
adminmodelcatalogmanufacturer.php
public function deleteManufacturersDownload($id){
$this->db->query("DELETE FROM ". DB_PREFIX . "manufacturer_downloads WHERE id =" + "'"+$id+"'");
return "success";
}
我哪里做错了?
你正在混淆字符串的连接。
改变
$this->db->query("DELETE FROM ". DB_PREFIX . "manufacturer_downloads WHERE id =" + "'"+$id+"'");
到
$this->db->query("DELETE FROM ". DB_PREFIX . "manufacturer_downloads WHERE id =" . "'" . $id . "'");
这个错误来自于试图将字符串和数字加在一起。
echo "FOO" + 1337; // Warning: A non-numeric value encountered in[...]
你在查询中使用了 "+",这是不对的,不需要用下面的代码。
$this->db->query("DELETE FROM ". DB_PREFIX . "manufacturer_downloads WHERE id = '$id'");