Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sql查询未正确执行_Php_Mysql_Sql_Pdo_Phpmyadmin - Fatal编程技术网

Php sql查询未正确执行

Php sql查询未正确执行,php,mysql,sql,pdo,phpmyadmin,Php,Mysql,Sql,Pdo,Phpmyadmin,自从我将操作系统从Windows7改为LinuxMint之后,我的PHP/SQL代码似乎就不起作用了 $AddUserToDatabase = $DatabaseConnection->prepare( 'INSERT INTO gebruikers (' . ' gebruiker_naam, profiel_foto, wachtwoord,' . ' salt, email, timestamp, admin' . ') VALUES ('

自从我将操作系统从Windows7改为LinuxMint之后,我的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
    ); 
}

对不起,伙计们,这个问题

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

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


谢谢您的帮助,但很抱歉问题放错了地方!

请检查您的错误日志。@JayBlanchard在哪里可以找到它?在连接打开后立即添加
$DatabaseConnection->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
。将错误报告添加到文件顶部例如,在打开PHP标记之后,
取决于服务器@Szenis,通常是/var/log/error.log(在Linux上)。如果你不知道日志在哪里,你可以按照Fred-ii-的建议去做。Lordie,我刚才也在想同样的事情。“Fred,总是跟着你的直觉走!”;-)@Fred ii-^谢谢你的帮助!