QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1106|回复: 1

变量不能传递

[复制链接]
发表于 2004-8-30 16:57:51 | 显示全部楼层 |阅读模式
<?php
        // modify.php
        require "global.php";
        include "jm.php";

        $rowid=$_GET['rowid'];
        $selectStmt = "select * from pa_address_book where rowid=$rowid";
//      $selectStmt = "select * from pa_address_book where rowid={$_GET['rowid']}" ;

        // connect to the database
        if (!($link = mysql_pconnect("localhost", "root", "test")))
        {
                        DisplayErrMsg(sprintf("error connecting to host %s, by user %s", $hostname, $username));
                        exit();
        }
        // select the database
        if (!mysql_select_db("article20", $link))
        {
                DisplayErrMsg(sprintf("Error in selecting %s database", $databaseName));
                DisplayErrMsg(sprintf("error: %d %s", mysql_errno($link), mysql_error($link)));
                exit();
        }
        //execute the statement
        if (!($result = mysql_query($selectStmt, $link)))
        {
                DisplayErrMsg(sprintf("Error in executing %s stmt", $selectStmt));
                DisplayErrMsg(sprintf("error: %d %s", mysql_errno($link), mysql_error($link)));
                exit();
        }
        GenerateHTMLHeader("Please modify fields");
        if (!($row = mysql_fetch_object ($result)))
        {
                DisplayErrMsg("Internal error: the entry does not exist");
                exit();
        }
        $resultEntry['user'] = $row->pa_user;
        $resultEntry['ip'] = $row->pa_user_ip;
        $resultEntry['company'] = $row->pa_user_company;
        $resultEntry['department'] = $row->pa_user_department;
        $resultEntry['job'] = $row->pa_user_job;
        GenerateHTMLForm($resultEntry, "update.php?rowid=$rowid", "modify");
        mysql_free_result($result);
--------------------------------------------------------------------------------


源码:--------------------------------------------------------------------------------

<?php
        // main.php
        require "global.php";
        include "jm.php";
        // Check if at least one search criteria is entered
        if (!$pa_user && !$pa_user_ip && !$pa_user_company && !$pa_user_department && !$pa_user_job)
        {
                DisplayErrMsg("Error: At least one search criteria should be present\n");

                exit();
        }
        //Generate the sql command for doing a select from the Database
        $searchStmt = "select * from pa_address_book where " ;

        if ($pa_user)
                $searchStmt .="pa_user like '%$pa_user%' and ";
        if ($pa_user_ip)
                $searchStmt .="pa_user_ip like '%$pa_user_ip%' and ";
        if ($pa_user_company)
                $searchStmt .="pa_user_company like '%$pa_user_company%' and ";
        if ($pa_user_department)
                $searchStmt .="pa_user_department like '%$pa_user_department%' and ";
        if ($pa_user_job)
                $searchStmt .="pa_user_job like '%$pa_user_job%' and ";

        $stmt = substr($searchStmt, 0, strlen($searchStmt)-4);

        // connect to the database
        if (!($link=mysql_pconnect ("localhost", "root", "test")))
        {
                DisplayErrMsg(sprintf("error connectint to host %s, by user %s", $hostName, $userName));
                exit();
        }
        //select the database
        if (!mysql_select_db("article20", $link))
        {
                DisplayErrMsg(sprintf("Error in selecting %s database", $databaseName));
                DispalyErrMsg(sprintf("errord %s", mysql_errno($link), mysql_error($link)));
                exit();
        }
        echo "$stmt";
        // execute the statement
        if (!($result = mysql_query($stmt, $link)))
        {
                DisplayErrMsg(sprintf("Error in executing %s stmt", $stmt));
                DisplayErrMsg(sprintf("error: %d %s", mysql_errno($link), mysql_error($link)));
                exit();
        }
        // display the result of the search
        printf("<table border with=\"100%%\" bgcolor=\"#dcdcdc\" nosave>\n");
        printf("<tr>
                        <td><b>pa_user</b></td>
                        <td><b>pa_user_ip</b></td>
                        <td><b>pa_user_company</b></td>
                        <td><b>pa_user_department</b></td>
                        <td><b>pa_user_job</b></td>
                        <td><b>modify/delete</b></td>
                        </tr>\n");
        while (($row = mysql_fetch_object($result)))
        {

                printf( "<tr>
                                        <td>%s</td>
                                        <td>%s</td>
                                        <td>%s</td>
                                        <td>%s</td>
                                        <td>%s</td>
                <td><a href=\"modify.php?rowid=%s\"><i>Modify</i></a>/
                     <a href=\"delete.php?rowid=%s\"><i>delete</i></a></td>
                                                </tr>\n",
$row->pa_user,$row->pa_user_ip,$row->pa_user_company,$row->pa_user_department,$row->pa_user_job,$row->rowid,$row->rowid);

        }
        printf("</table>\n");
        mysql_free_result($result);
        echo "$rowid";

?>
错误是这个
Error in executing select * from pa_address_book where rowid= stmt
error: 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
发表于 2004-8-31 20:22:04 | 显示全部楼层
试试这个:
$selectStmt = "select * from pa_address_book where `rowid`='$rowid' ";
注意把列名括起来的是反引号(在数字键1的左边),把变量括起来的是单引号,把语句括起来的是双引号。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 14:20 , Processed in 0.102901 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表