我确定这是一个基本错误,但是我几个小时后仍然感到困惑。我浏览了大约12个“捕获不起作用”,而且似乎都没有用。
我继承了这段代码。所有变量都有值(尽管有些是空字符串)。除了这里的基本问题之外,我还担心我的catch
没有捕获错误(以前该语句试图将值存储在不存在的列中,甚至没有引发异常)。
我在顶部。 (我起初尝试将这两个语句结合在一起,但这带来了一个问题–不记得了。)
$mysqli = new mysqli("localhost", "", "", ""); // private stuff taken out
mysqli_report(MYSQLI_REPORT_STRICT);
mysqli_report(MYSQLI_REPORT_ERROR);
这是基本代码
$packageResult = $mysqli->query("INSERT INTO package (user_id,
package_name, weight, tracking_number, size_width, size_depth, size_height,
source, carrier, instructions, sent,ot48code) VALUES ({$_SESSION['id']},
'{$_POST['packageName']}', '{$_POST['weight']}',
'{$_POST['tracking_number']}', '{$_POST['width']}', '{$_POST['depth']}',
'{$_POST['height']}', '{$_POST['source']}', '{$_POST['carrier']}',
'{$_POST['instructions']}', NOW()),$ot48code");
我调试了一下,尽管$packageResult
返回了FALSE,但是从未访问过catch
代码。 (在PhpStorm中使用Xdebug。)
catch (Exception $e)
{
echo "<pre>";
echo "<br>";
echo "ses testing at 171";
@var_dump($_SESSION);
echo "<br>";
...
echo $e->getMessage();
catch
正确吗?
(PS,我知道这都是非常不安全的,但这是针对alpha的,我是一个打字员慢而又很糟糕的程序员(没有内存)。)
答案 0 :(得分:1)
要捕获错误以及您似乎需要的异常
mysqli_report(MYSQLI_REPORT_ALL);
那一行救了我。
我确实认为:
mysqli_report(MYSQLI_REPORT_ERROR);
愿意做,但是...
希望这对您遇到同样的问题有所帮助。
非常感谢@pec。