【问题标题】:PHP command is executed before I tell it toPHP 命令在我告诉它之前执行
【发布时间】:2018-04-24 21:49:49
【问题描述】:

所以,我正在尝试创建一个帐户创建页面,但我遇到了一个简单的错误,但由于我对 PHP 非常陌生,所以我不明白我有什么问题。我希望它执行命令

echo "Success!";

将数据导入数据库后。代码如下:

if (isset($_POST['createaccount'])) {
        $username = $_POST['username'];
        $password = $_POST['password'];
        $email = $_POST['email'];    

        DB::query('INSERT INTO users VALUES (\'\', :username, :password, :email)',  array('username'=>$username, 'password'=>$password, 'email'=>$email));
        echo "Success!";

我知道数据库导入代码可能是错误的,但这不是我现在担心的问题,谢谢。我正在使用 PHP 5。

【问题讨论】:

  • DB::query 不是标准的 PHP 类/方法。它有什么作用?
  • @ceejayoz 它运行 MySQL 查询对吗?
  • 我不知道它做了什么,因为它不是 PHP 的默认部分。它实际上可以做任何事情——你要么写了DB 类,要么包含了别人的DB 类。它有文档吗?你能分享你正在使用的数据库类的代码吗?
  • (我猜,如果不出意外,那部分问题是 $username$password$email 永远不会以任何方式传递给 DB::query,因此完全无法正常工作。)

标签: php xampp localhost


【解决方案1】:

好吧,在调用查询方法之后调用了回声。 我想您的问题是您在回显之前没有验证插入是否成功。 如果是这种情况,您应该将结果存储在一个变量中并对其进行分析,只有当一切正常时,您才会回显“成功!”。 编辑:这个方法是你的吗?如果它返回结果,您可以:

$result = DB::query('INSERT INTO users VALUES (\'\', :username, :password, :email)',  array('username'=>$username, 'password'=>$password, 'email'=>$email));

然后你就可以看到如何进行了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多