我正在尝试向数据库提交值但我收到错误消息
不推荐使用:函数eregi()已弃用 第20和27行的C:\ wamp \ www \ OB \ admin_add_acc.php
以下是代码:
<?php
include 'db_connect.php';
if(isset($_POST['Submit']))
{
$acc_type=ucwords($_POST['acc_type']);
$minbalance=ucwords($_POST['minbalance']);
if (!eregi ("^[a-zA-Z ]+$", stripslashes(trim($acc_type))))//line 20
{
echo "Enter Valid Data for Account Type!";
exit(0);
}
else
{
if (!eregi ("^[0-9 ]+$", stripslashes(trim($minbalance))))//line 27
{
答案 0 :(得分:18)
eregi()
已弃用,请改用preg_match()
。
请注意,在正则表达式中传递preg_match()
修饰符时,i
仅区分大小写。
include 'db_connect.php';
if(isset($_POST['Submit']))
{
$acc_type=ucwords($_POST['acc_type']);
$minbalance=ucwords($_POST['minbalance']);
// Removed A-Z here, since the regular expression is case-insensitive
if (!preg_match("/^[a-z ]+$/i", stripslashes(trim($acc_type))))//line 20
{
echo "Enter Valid Data for Account Type!";
exit(0);
}
else
{
// \d and 0-9 do the same thing
if (!preg_match("/^[\d ]+$/", stripslashes(trim($minbalance))))//line 27
{
}
}
}
答案 1 :(得分:2)
来自Wikipedia:
弃用是应用于计算机软件功能,特性或实践的状态,表明应该避免,通常是因为它被取代。
查看eregi的PHP手册。如您所见,它有以下警告:
自PHP 5.3.0起,此功能已被弃用。非常不鼓励依赖此功能。
在页面下方有一些关于使用什么的建议:
自PHP 5.3.0起,不推荐使用eregi()。带有i(PCRE_CASELESS)修饰符的preg_match()是建议的替代方法。
因此,您可以使用preg_match功能。
答案 2 :(得分:0)
您可以找到答案here in the manual。由于您使用的php版本中的弃用功能,您将收到该警告。您可以使用ergi
代替preg_match
。 preg match