![](/img/trans.png)
[英]Query works ok in phpmyadmin but not with mysql_query php function
[英]PHP Mysql_query not works inside function
我的問題是,當我在全局范圍內使用mysql時,它可以工作,但在其中不是,請查看代碼:
//connect.php
@mysql_connect($mysql_server, $mysql_admin, $mysql_pass);
@mysql_select_db($mysql_db);
//main.php
require_once("connect.php");
$rReq = $_REQUEST["req"];
function failed()
{
$qe = mysql_query("SELECT success_count FROM db WHERE serial='".$rReq."'");
$ro = mysql_fetch_row($qe);
$ro[0]+=1;
mysql_query("UPDATE db SET success_count = '".$ro[0]."' WHERE serial='".$rReq."'");
}
//main code
failed(); // not works, mysql_query does nothing
//if i put here the same code but outside the function it works :/
$qe = mysql_query("SELECT success_count FROM db WHERE serial='".$rReq."'");
$ro = mysql_fetch_row($qe);
$ro[0]+=1;
mysql_query("UPDATE db SET success_count = '".$ro[0]."' WHERE serial='".$rReq."'");
$rReq
變量未在函數范圍內定義,這就是失敗的原因。 如果可能的話,您應該將它作為參數傳遞給函數。
我也建議不要壓制任何錯誤。 這被認為是不好的做法,如果你有錯誤報告,“未定義的變量......”錯誤會幫助你。
為了使$rReq
變量在函數內部可見,您需要在那里聲明它,將其作為參數傳遞,或者使用global
來將其拉入:
function failed()
{
global $rReq;
$qe = mysql_query("SELECT success_count FROM db WHERE serial='".$rReq."'");
...
函數外部的變量不會在其中自動顯示,函數內部的變量在其外部不可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.