为什么正则表达式在我的 php 程序中不起作用


Why are the regular expressions not working in my php program

我正在尝试在表中插入一个值,但首先我输入的数据我检查使用正则表达式输入的数据的模式

这是我的代码..但它正在工作,任何人都可以告诉我我的代码问题吗?

<?php
        extract($_POST);
        $host="localhost"; // Host name
        $username="root"; // Mysql username
        $password="rootpass"; // Mysql password
        $db_name="myshop"; // Database name
        $name=trim($Gname); //trimming the name
        $pattern="/^[a-zA-Z]$/";
        mysql_connect("$host", "$username", "$password")or die("cannot connect server ");
        mysql_select_db("$db_name")or die("cannot select DB");

        if ($name=="")
            echo ("Missing Info");
        else
        {
            if (isset($name))
            {
            if (preg_match($pattern,$name))
                $sql="INSERT INTO ayesha VALUES('$name')";
            else
                echo("wrong syntax");
            }
            else
            {
            echo("missing info");
            }
        ?>

试试这个$pattern="/[a-zA-Z]+/";而不是$pattern="/^[a-zA-Z]$/";

$pattern="/[a-zA-Z]+/";
//your code
if (!empty($name)) {
    if (preg_match($pattern,$name)) {
        $sql="INSERT INTO ayesha VALUES('$name')";
    } else {
        echo("wrong syntax");
    }
} else {
    echo("missing info");
}
    ?>