我多年来第一次感受到我的方式。我正在尝试执行一个简单的select语句。我已经确认该语句直接针对mysql。我的PHP没有完成。我想知道为什么我的real_query不工作,我也想知道如何从这种情况中哄骗错误信息。这是代码:
function getRoot($nid)
{
echo $nid; //displays 0
try
{
echo "Hello?"; //This displays
//Why doesn't this work?!
if($mysqli->real_query("SELECT * FROM gem, bundles WHERE gem.nid = bundles.baseNid AND bundles.nid = " . $nid))
{
echo "dafuq?"; //does not display
}
else
{
echo "foo"; //doesn't display
echo $mysqli->error; //doesn't display
}
}
catch (Exception $e)
{
echo "Tralalalala"; //doesn't display
}
echo "teeheehee"; //doesn't display
}
感谢您的帮助!
答案 0 :(得分:6)
函数中没有声明$mysqli
变量,因此您的代码生成FATAL ERROR
- 您正在调用非对象的方法。如果$mysqli
是全局变量,则必须在函数开头添加global $mysqli;
答案 1 :(得分:4)
$mysqli
未在函数中定义,并且PHP引发致命错误,使用标准异常 可以捕获。
您需要启用错误报告(display_errors在php.ini中设置为On,或通过ini_set设置为,例如:ini_set('display_errors', '1');
);