gpt4 book ai didi

php - isset $_post mysql查询问题

转载 作者:行者123 更新时间:2023-11-29 14:13:09 25 4
gpt4 key购买 nike

我正在处理一个项目的后端,此代码片段有一个小问题

if (isset($_POST['id'])) {
$cat_delete = "DELETE FROM category WHERE categoryid='".$_POST['id']."' ";
$cat_delete_ex = mysql_query($cat_delete);}`

但是如果id是用post设置的,则什么也不会发生。

当我删除 mysql 查询时,它正在工作

if (isset($_POST['id']))

有人有想法吗?

最佳答案

好吧,我不确定你的方法是否安全,但我会这样做,甚至可能会抛出一个正则表达式来仅检查数字(如果 id 是数字):

编辑:我做了修改,因为你正在处理一个ID,我会假设ID只是数字,所以我不会转义它,而是删除除数字之外的所有内容。这可能更适合您的情况。我还将该函数转换为一个类,以便您可以重复使用该脚本来处理多种类型的字符串清理。也许是因为我也是一个成绩优异的人,我不知道。 ADD、OCD 等等。归咎于此:)

$postID = isset($_POST['id']) ? sanitize::ID($_POST['id']) : '';

if (sanitize::email("test@example.com")){
echo "Real email";
} else {
echo "Fake email";
}

if ($postID != ''){
$cat_delete = "DELETE FROM category WHERE categoryid='".$postID."' ";
$cat_delete_ex = mysql_query($cat_delete);
}

class sanitize{
function ID($string){
$string = preg_replace('/[^0-9,]|,[0-9]*$/','',$string);
return $string;
}
# I added another sanitize function so you can see what you can do
# with it. Add phone numbers, domain names, etc... Each one could
# be called with sanitize::{FUNCTION}
function email($string){
if (!ereg("^[^@]{1,64}@[^@]{1,255}$", $string)) {
return false;
}
$email_array = explode("@", $string);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$",$local_array[$i])) return false;
}
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) return false;
for ($i = 0; $i < sizeof($domain_array); $i++) {
if (!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$", $domain_array[$i])) return false;
}
}
return true;
}
}

关于php - isset $_post mysql查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13120900/

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