是什么导致mysql未定义索引错误与此教程脚本?

时间:2011-12-14 04:27:03

标签: php mysql facebook undefined-index

我在教程中逐字地在我的数据库中运行这个php脚本,但是我在第27行(以if ($_REQUEST['action'] == "add") {开头的那一行得到了一个未定义的索引错误)...我只是在学习mysql所以任何帮助都会摇滚!

<?php
/**
 * Copyright 2011 Robert Turrall - robertturrall.com
 *
 * Part of the video2brain course: Facebook Application Development: Learn by Video
 *
 * 
 */

$dbhost     = 'localhost';      // This is the hostname/address for your database. Usually 127.0.0.1 for local testing, or 'localhost' is good
$dbuser     = 'root';       // Login name to your database - anonymous is default for localhost MySQL
$dbpass     = '';               // Login password to your database - default for local MySQL is no password
$data       = 'test';           // Database name

$db = mysql_connect($dbhost, $dbuser, $dbpass);

if (mysql_errno() > 0) {
    if (mysql_errno() == 1203) {
        // 1203 == ER_TOO_MANY_USER_CONNECTIONS (mysqld_error.h)
        die("DB error");
    } else {
        // other error
        die("DB error");
    }
}

if ($_REQUEST['action'] == "add") {
    mysql_select_db($data, $db);
    $Insert = "INSERT INTO FB_birthdays (UID, birthday) VALUES ('".$_REQUEST['uid']."', '".$_REQUEST['birthday']."')";
    $res = mysql_query($Insert, $db) or die ("Save error");
    mysql_close($db);
    echo "Added to DB!";
}

?>


<form action="savedb.php" method="post">
                <input type="hidden" name="request" value="add">
                <input type="hidden" name="uid" value="<?php echo $user; ?>">
                <input type="hidden" name="birthday" value="<?php echo $birthday; ?>">     
                <input name="Submit" type="submit" value="Add me!">
            </form>

3 个答案:

答案 0 :(得分:1)

该行上的

Undefined index表示数组$_REQUEST没有键'action'

你会想要这样的东西:

if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'add') {

显然这意味着你的其余代码将无法运行,因此发送请求的内容仍然存在问题。

答案 1 :(得分:0)

如果您使用 POST 方法,则可以使用$_POST["action"];对于 GET ,您可以使用$_GET["action"]

答案 2 :(得分:0)

尝试使用

if(isset($_REQUEST['action']) && $_REQUEST['action'] == "add")