0

私のファイル名はcontacts.phpです。選択ボタンが押された場合、選択機能が呼び出されるようにしたいのですが、エラーが表示されています。次のコードを書きました:

           //contacts.php
    <?php
    //1.CREATE CONNECTION
    $connection=mysql_connect("localhost","root","human");
    if(!$connection)
    {
    die("DataBase Connection Failed: ".mysql_error());
    }

    //2.SELECT DATABASE
    $db_select=mysql_select_db("vikas",$connection);
    if(!$db_select)
    {
    die("DataBase Selection Failed: ".mysql_error());
    }

    if(isset($_REQUEST['select']))
    {
    select();
    }

    //select function
    function select()
    {
    echo '<div id="show" style="background-color:#DDDDDD;">';
    $result=mysql_query("select * from contacts", $connection);
    if(!$result)
    {
    die("DataBase Query Failed: ".mysql_error());
    }
    echo <<<END
    <table name=contact>
    <tr><th>ID</th>
    <th>NAME</th>
    <th>NUMBER</th></tr>
    END;
    while($row=mysql_fetch_array($result))
    {
    echo '<tr><td>'.$row["number"].'</td><td>'.$row["name"].'</td></tr>';
    }
    echo '</div>';
    }
    //end of select
    ?>

    <html>
    <body> 
    <form action="contacts.php">
    ENTER ID:<br>
    <input type="text" name="id"/><br>
    ENTER NAME(20 chars):<br>
    <input type="text" name="name"/><br>
    ENTER NUMBER(10 digits):<br>
    <input type="text" name="number"/><br>
    <input type="submit" name="select" value="select"/>
    </form>

    </body>
    </html>

しかし、それはエラー undefined var connection を表示しています。これはエラー「Undefined variable: connection in C:\wamp\www\site2sms-call\contacts.php」です。

4

3 に答える 3

2

関数のスコープ$connection内にないためです。select関数パラメーターを介して渡します。

function select($connection)
{
echo '<div id="show" style="background-color:#DDDDDD;">';
$result=mysql_query("select * from contacts", $connection);

選択関数の呼び出し中

if(isset($_REQUEST['select']))
{
    select($connection);
}
于 2013-07-26T04:50:11.587 に答える
1
<?php
    //1.CREATE CONNECTION
    $connection=mysql_connect("localhost","root","");
    if(!$connection)
    {
    die("DataBase Connection Failed: ".mysql_error());
    }

    //2.SELECT DATABASE
    $db_select=mysql_select_db("test",$connection);
    if(!$db_select)
    {
    die("DataBase Selection Failed: ".mysql_error());
    }

    if(isset($_REQUEST['select']))
    {
    select();
    }

    //select function
    function select()
    { ?>
    <div id="show" style="background-color:#DDDDDD;">
    <?php 
    $result=mysql_query("select * from contacts", $connection);
    if(!$result)
    {
    die("DataBase Query Failed: ".mysql_error());
    } ?>

   <table name=contact>
    <tr><th>ID</th>
    <th>NAME</th>
    <th>NUMBER</th></tr>
   <?php
    while($row=mysql_fetch_array($result))
    { ?>
       <tr><td><?php echo $row["number"];?>
       </td><td><?php echo $row["name"]; ?></td></tr>
   <?php  } ?>
    </div>
  <?php  }
    //end of select
    ?>
    <html>
    <body> 
    <form action="contacts.php">
    ENTER ID:<br>
    <input type="text" name="id"/><br>
    ENTER NAME(20 chars):<br>
    <input type="text" name="name"/><br>
    ENTER NUMBER(10 digits):<br>
    <input type="text" name="number"/><br>
    <input type="submit" name="select" value="select"/>
    </form>
    </body>
    </html>
于 2013-07-26T05:00:01.967 に答える
1

選択関数内にメッセージが表示されると思いますか? 関数内の変数には独自のスコープがあります。ここを参照してくださいhttp://php.net/manual/en/functions.arguments.php これは、関数内では PHP が「外部」変数 $connection を認識していないことを意味します。関数に渡す必要があります

于 2013-07-26T04:48:11.270 に答える