gpt4 book ai didi

php - MySQL php 数组问题

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

我试图构建的是 php mysql 中数据库查询的数组。循环遍历该数组,查找带有 strpos 的特定字符串。

当注册页面加载时,我包含一个文件,该文件源如下:

mysql_select_db($database_connBlog, $connBlog);
$query_rsBannedDomains = "SELECT * FROM banned_emailproviders";
$rsBannedDomains = mysql_query($query_rsBannedDomains, $connBlog) or die(mysql_error());
$row_rsBannedDomains = mysql_fetch_assoc($rsBannedDomains);
$totalRows_rsBannedDomains = mysql_num_rows($rsBannedDomains);


$bannedArray = array();
do {
array_push($bannedArray, $row_rsBannedDomains['domain_emailprovider']);
}
while ($row_rsBannedDomains = mysql_fetch_assoc($rsBannedDomains));

//print_r($bannedArray);

$emailaddress = $_POST['email_usr'];

foreach($bannedArray as $key => $domain){
if(strpos($emailaddress, $domain) == false){
echo (strpos($emailaddress, $domain));
} else {
header ("Location: http://www.disney.com");

}
}

注册页面提交的时候,就是提交给自己的。上面源代码的 include 是注册 php 文件中的第二行。第一行是数据库连接的包含内容。

奇怪的是,有时当我点击返回并重新提交表单时,这会起作用。

最佳答案

您不需要加载整个表,然后使用 PHP 循环遍历它。事实上,这是一种非常低效的方法。只需查询数据库即可查看电子邮件地址的域部分是否是表中的条目之一。

$emailaddress = substr ($_POST['email_usr'], strpos ($emailaddress = $_POST['email_usr'];
, '@'));

$query = "SELECT COUNT(*) AS banned FROM banned_emailproviders WHERE domain_emailprovider = '" . mysql_real_escape_string ($emailaddress) . "'"
if (($res = mysql_query ($query)) && ($row = mysql_fetch_assoc ($res)) && ($row ['banned'] > 0))
{
// The domain was in the banned list
}
else
if (!$res)
{
// Something went wrong querying the database
die (mysql_error ());
}
else
{
// The domain wasn't in the banned list
}

请注意,上述代码尚未经过测试,因此可能需要进行一些调整才能正常工作。

关于php - MySQL php 数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6894360/

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