Wamp服务器未正确处理PHP到数据库

Wamp服务器未正确处理PHP到数据库,php,mysql,database,wamp,Php,Mysql,Database,Wamp,应Shankar的要求,我将在本期中发布表单代码和php代码。从昨天开始,我已经转移到我的MAC上,安装了XAMPP来尝试解决这个问题,但我仍然有同样的问题。首先,这里是文本匹配中设置的表单代码: <!DOCTYPE HTML> <head> </head> <title>Practising my PHP</title> <body> <h2>Subscri

应Shankar的要求,我将在本期中发布表单代码和php代码。从昨天开始,我已经转移到我的MAC上,安装了XAMPP来尝试解决这个问题,但我仍然有同样的问题。首先,这里是文本匹配中设置的表单代码:

   <!DOCTYPE HTML>

   <head>


   </head>


   <title>Practising my PHP</title>


    <body>
    <h2>Subscriber Form</h2>

    </body>

    <form id="subscriber" action="practice.php" method="post">

<table cellpadding="0" cellspacing="25" border-width="0">
    <tr>
        <td><label for name="name" id="name" value="">Name:</td>
        <td><input type="text" id="name" maxlength="30" maxsize="24"></td>
    </tr>

    <tr>
        <td><label for name="email" id="email" value="">Email:</td>
        <td><input type="text" id="name" maxlength="30" maxsize="24"></td>
    </tr>

    <tr>
        <td><input type="reset" id="reset" value="reset"></td>
        <td><input type="submit" id="submit" value="submit"</td>
    </tr>   

</table>


    </form>


    </html>
接下来是处理PHP代码

    <?php

    if(isset($_POST['submit'])) {

     $name = $_POST['name'];
     $email = $_POST['email'];

    $server = mysql_connect('localhost', 'root', '') or die("The Server Cannot 
     Be Accessed at This Time");
$db = mysql_select_db('practising') or die("The Database Cannot Be Accessed, 
    Please Try Again Later");

$query = mysql_query("INSERT INTO `subscribers`(`name`,`email`) 
    VALUES ('$name','$email')");

if(empty($name) || empty($email)) {

    echo "All Fields Must Be Filled Out";

} else {

    echo "Your Information has Been Added to Our Database";
}


    }

    ?>
我期待着您的评论和帮助。顺便说一下,这两个文件都保存为.php文件

无论上面有什么错误,请有人提出建议

在我这边发生的事情就是这样。我打开newsletter.php页面,在浏览器中显示表单。当我填写一个字段并测试if语句以通知我所有字段都必须填写时,不会发生任何事情。我刚刚得到表单处理,处理器返回一个乏味的newsprocess.php页面。此外,数据库中没有插入任何内容。我希望这些信息足够清楚,如果你能帮助我,我将不胜感激。我还将WAMP的副本更改为4.0.4。看看这是否有帮助。我还使用以下命令在urle中打开该文件http://localhost/wamp/TrainingPHP/newsletter.php

另一件奇怪的事情是,如果我将a作为代码之外的测试,但在同一页上,则echo返回hello world。

更改您的mysql\u查询代码

删除mysql\u查询中的$sql

注意:尝试使用Mysqli或PDO作为mysql_*函数将在未来的PHP版本中被弃用

=============编辑===========


更改这一行您的PHP代码还可以,但HTML代码中存在问题。你需要有一些更多的实践在HTML和有一些基本的错误。无论如何,我张贴的HTML工作代码,你可以使用这个,比较它与你的,并删除你的代码中的错误

<!DOCTYPE HTML>
<head>
<title>Practising my PHP</title>
</head>
 <body>
    <h2>Subscriber Form</h2>
 <form id="subscriber" action="practice.php" method="post">
  <table cellpadding="0" cellspacing="25" border-width="0">
    <tr>
        <td><label for name="name" id="name" value="">Name:</td>
        <td><input type="text" id="name" name="name"  maxlength="30" maxsize="24"></td>
    </tr>

    <tr>
        <td><label for name="email" id="email"   value="">Email:</td>
        <td><input type="text" name="email" id="name" maxlength="30" maxsize="24"></td>
    </tr>

    <tr>
        <td><input type="reset" id="reset" value="reset"></td>
        <td><input type="submit" id="submit"  name="submit" value="submit"></td>
    </tr>   

</table>
 </form>
</body>
</html>

你能发布表单代码吗?使用mysql\u real\u escape\u stringHi Shankar和Joni我最初尝试了Joni的想法,但这不是问题所在。我已经转移到我的Mac上,看看它是否能在XAMPP中工作,但仍然存在同样的问题。下面是代码的简化版本。首先是Shankar请求的表单代码:在MAc中,您必须使用mysql_connect中的密码作为root用户。这意味着您的mysql_connect用户名将是root,密码也将是root,但在wamp或xampp中的windows中它保持为空。嗨,伊克巴尔,我已经这样做了,我还将我的mysql更改为mysqli。但仍然没有得到任何满足。当我填写表格并提交时,我会进入流程页面,但我没有从声明中得到任何回应,也没有在数据库的表中插入任何内容。Maz,我注意到了你的建议,但我尝试过这种方式,但仍然不起作用。我还将介绍您关于mysqli而不是mysql使用的信息。干杯请参见上面编辑的代码!也许你还能帮我。嗨,伊克巴尔,刚刚看到你的其他答案。我已经纠正了你指出的问题。谢谢我的页面现在似乎正在尝试连接数据库,但我收到了以下警告:`warning:mysqli_select_DB需要2个参数,1个参数在/Applications/XAMPP/xamppfiles/htdocs/practicing/practice.php第9行中给定,无法访问数据库,请稍后再试`?这是select MySqli_select_db‘practicing’中的代码,然后它会进入or die等。practicing是数据库的名称。你好,Iqbal,你能理解这一点吗?当我单击submit并将浏览器移动到处理页面时,我现在收到以下警告:警告:MySqli_select_db只需要2个参数,第9行的/Applications/XAMPP/xamppfiles/htdocs/practicing/practice.php中给出了1,下面是它所指的代码行$db=mysqli\u select\u db'practicing',否则无法访问数据库,请稍后再试;嗨,玛兹,我只想让你知道我已经把上一期整理好了。除了其他问题之外,使用mysqli似乎给我带来了一个问题,这就是我收到警告的原因。我已成功地将详细信息添加到数据库中。我还需要阅读MySQL,以确定在使用mysqli时需要做什么。谢谢你的帮助。我只想感谢所有帮助我解决这个问题的人。干杯还有一件事。任何人都可以告诉我一个地方,在那里我可以找到一个mysqli_select_db查询-现在它将数据插入数据库将是伟大的!谢谢
 $query = mysql_query("INSERT INTO    subscribers(name,email)
 VALUES('$name','$email')") or die(mysql_error());
<td><input type="submit" id="submit" name="submit" value="submit"></td>
  <input type="text" id="name" name="name" maxlength="30" maxsize="24">
 <input type="text" id="email" name="email" maxlength="30" maxsize="24">
<!DOCTYPE HTML>
<head>
<title>Practising my PHP</title>
</head>
 <body>
    <h2>Subscriber Form</h2>
 <form id="subscriber" action="practice.php" method="post">
  <table cellpadding="0" cellspacing="25" border-width="0">
    <tr>
        <td><label for name="name" id="name" value="">Name:</td>
        <td><input type="text" id="name" name="name"  maxlength="30" maxsize="24"></td>
    </tr>

    <tr>
        <td><label for name="email" id="email"   value="">Email:</td>
        <td><input type="text" name="email" id="name" maxlength="30" maxsize="24"></td>
    </tr>

    <tr>
        <td><input type="reset" id="reset" value="reset"></td>
        <td><input type="submit" id="submit"  name="submit" value="submit"></td>
    </tr>   

</table>
 </form>
</body>
</html>