请教大神我这段代码有什么问题,以前好好的 ,现在却出现莫名问题,编辑器是netbeans,也重新安装过.
现在运行时能执行到第二个_query函数,也就是对数据库的操作成功了,之后就跳过mysql_affected_rows()那段直接执行下面的 else {
_alert_back('非法操作');
}
if (isset($_GET['active']) && $_GET['action'] === 'ok') { $_active = _mysql_string($_GET['active']); if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) { //将tg_active设置为actived _query("UPDATE tg_user SET tg_active='actived' WHERE tg_active='$_active' LIMIT 1"); if (mysql_affected_rows() == 1) { mysql_close(); _location('账户激活成功','login.php'); } else { mysql_close(); _location('账户激活失败','register.php'); } } else { _alert_back('非法操作'); }}
回复讨论(解决方案)
检查了一下你的代码,应是
if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC))
此段就发生问题,你确定有执行到_query阶段
if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC)) { //将tg_active设置为actived _query("UPDATE tg_user SET tg_active='actived' WHERE tg_active='$_active' LIMIT 1"); if (mysql_affected_rows() == 1) { mysql_close(); _location('账户激活成功','login.php'); } else { mysql_close(); _location('账户激活失败','register.php'); } } else { _alert_back('非法操作'); }
嗯 是的 我去表里看过了 也试了好多次 我也有打印出mysql_fetch_array 有值
就你贴出的代码而言,是不可能出现你说的情况的
因为
_query("UPDATE tg_user SET ....
和
_alert_back('非法操作');
分属
if (mysql_fetch_array(_query("SELECT tg_active FROM...
的两个分支
不可能同时被执行!
因此,可以认为你实际运行的不是这段代码
if (isset($_GET['active']) && $_GET['action'] === 'ok') { $_active = _mysql_string($_GET['active']); if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC){ echo "ok"; } else { _alert_back('非法操作'); }}
这样会出现什麽结果?
就你贴出的代码而言,是不可能出现你说的情况的
因为
_query("UPDATE tg_user SET ....
和
_alert_back('非法操作');
分属
if (mysql_fetch_array(_query("SELECT tg_active FROM...
的两个分支
不可能同时被执行!
因此,可以认为你实际运行的不是这段代码
对啊 所以我才会说奇葩啊 我都找了2天了 还没找出问题
if (isset($_GET['active']) && $_GET['action'] === 'ok') { $_active = _mysql_string($_GET['active']); if (mysql_fetch_array(_query("SELECT tg_active FROM tg_user WHERE tg_active='$_active' LIMIT 1"),MYSQL_ASSOC){ echo "ok"; } else { _alert_back('非法操作'); }}
这样会出现什麽结果?
打印出OK ,
最新又出现的一个情况是重启好几次电脑后,再打开项目后,第一个注册的可以激活,后面的就出现非法操作了
我都晕了 怀疑是不是电脑系统有问题了
你打印出 __FILE__ 和 __LINE__ 就可知道你找错了地方
还是不行, 算了 先不找了 等一段时间再看看吧 谢谢你们2位了

DependencyInjection(DI)inPHPenhancescodeflexibilityandtestabilitybydecouplingdependencycreationfromusage.ToimplementDIeffectively:1)UseDIcontainersjudiciouslytoavoidover-engineering.2)Avoidconstructoroverloadbylimitingdependenciestothreeorfour.3)Adhe

到Improveyourphpwebsite的實力,UsEthestertate:1)emplastOpCodeCachingWithOpcachetCachetOspeedUpScriptInterpretation.2)優化的atabasequesquesquesquelies berselectingOnlynlynnellynnessaryfields.3)usecachingsystemssslikeremememememcachedisemcachedtoredtoredtoredsatabaseloadch.4)

是的,ItispossibletosendMassemailswithp.1)uselibrarieslikeLikePhpMailerorSwiftMailerForeffitedEmailsending.2)enasledeLaysBetenemailstoavoidSpamflagssspamflags.3))

DependencyInjection(DI)inPHPisadesignpatternthatachievesInversionofControl(IoC)byallowingdependenciestobeinjectedintoclasses,enhancingmodularity,testability,andflexibility.DIdecouplesclassesfromspecificimplementations,makingcodemoremanageableandadapt

使用PHP發送電子郵件的最佳方法包括:1.使用PHP的mail()函數進行基本發送;2.使用PHPMailer庫發送更複雜的HTML郵件;3.使用SendGrid等事務性郵件服務提高可靠性和分析能力。通過這些方法,可以確保郵件不僅到達收件箱,還能吸引收件人。

計算PHP多維數組的元素總數可以使用遞歸或迭代方法。 1.遞歸方法通過遍歷數組並遞歸處理嵌套數組來計數。 2.迭代方法使用棧來模擬遞歸,避免深度問題。 3.array_walk_recursive函數也能實現,但需手動計數。

在PHP中,do-while循環的特點是保證循環體至少執行一次,然後再根據條件決定是否繼續循環。 1)它在條件檢查之前執行循環體,適合需要確保操作至少執行一次的場景,如用戶輸入驗證和菜單系統。 2)然而,do-while循環的語法可能導致新手困惑,且可能增加不必要的性能開銷。

在PHP中高效地哈希字符串可以使用以下方法:1.使用md5函數進行快速哈希,但不適合密碼存儲。 2.使用sha256函數提高安全性。 3.使用password_hash函數處理密碼,提供最高安全性和便捷性。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用