sql查询未正确执行

时间:2015-02-16 19:10:14

标签: php mysql sql pdo phpmyadmin

自从我将操作系统从Windows 7更改为Linux Mint之后,我的PHP / SQL代码似乎无法运行。

$AddUserToDatabase = $DatabaseConnection->prepare(
    'INSERT INTO gebruikers (' .
    '    gebruiker_naam, profiel_foto, wachtwoord,' .
    '    salt, email, timestamp, admin' .
    ') VALUES (' .
    '    :username, :profiel_foto, :wachtwoord,' .
    '    :salt, :email, :timestamp, :admin' .
    ')'
);

$AddUserToDatabase->execute(
    array(
        'username'     => $Username,
        'profiel_foto' => 'UnknownUser.png',
        'wachtwoord'   => $EncryptedPassword,
        'salt'         => $Salt,
        'email'        => $Email,
        'timestamp'    => $CurrentTimestamp,
        'admin'        => '0'
    )
);

由于我更改了操作系统,因此我没有对代码进行任何更改,并且我没有从语句中收到任何错误或警告。

页面加载后我在de数据库中检查了新记录,但它不存在:(

我觉得很奇怪,从Windows更改为linux之后,代码停止工作。

有谁知道最近发生了什么?

修改 我只是尝试执行其他一些语句,但它们似乎都没有用。我想我在某处有一些不好的配置..

EDIT2

在index.php中,我包含下一个文件

include 'Class/Session.php';
include 'Class/Login_Register.php'

$Session->ConnectWithDatabase();

这是错误,但我不明白为什么它没有选择数据库......

Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected'
in /var/www/html/ScriptDeals/Classes/login_register.php:227
Stack trace:
#0 /var/www/html/ScriptDeals/Classes/login_register.php(227):
    PDOStatement->execute(Array)
#1 /var/www/html/ScriptDeals/Classes/login_register.php(81):
    LoginRegister->RegisterUser('test@live.nl', 'test', '12345678')
#2 /var/www/html/ScriptDeals/index.php(20):
    LoginRegister->FormErrorHandling()
#3 {main}
thrown in /var/www/html/ScriptDeals/Classes/login_register.php on line 227

这是设置我的数据库连接的原因

function ConnectWithDatabase()
{
    global $DatabaseConnection;     

    $DatabaseUsername = 'root';     
    $DatabasePassword = 'database';         
    $DatabasePath = 'mysql:host=localhost;port:3306;dbname=scriptdeals';    

    $DatabaseConnection = new PDO(
        $DatabasePath, $DatabaseUsername, $DatabasePassword
    ); 
}

1 个答案:

答案 0 :(得分:1)

对不起这个问题的家伙们!

我发现我必须删除端口:3306 在我这样做之后,我收到了关于数据库中缺少字段的错误。

我添加了新字段,现在可以正常工作^^

感谢您的帮助,但对于错位的问题感到抱歉!