2015-06-18 6 views
-1

Я пытаюсь получить информацию о пользователе от пользователя после того, как они вошли в систему, на сервер. Я попытался использовать это:Вставить данные в базу данных Ошибка PDO

$conn = new PDO("mysql:host=localhost;dbname=user_login",'root',''); 
    global $dbh; 
    $stmt = $dbh->prepare("INSERT INTO login_details (browser, date_time, ip_address, username) VALUES (:browser, :date_time, :ip_address, :username)"); 
    $stmt->bindParam(':browser', $browser); 
    $stmt->bindParam(':date_time', $date_time); 
    $stmt->bindParam(':ip_address', $ip_address); 
    $stmt->bindParam(':username', $username); 

    $browser = 'one'; 
    $value = $_SERVER["HTTP_USER_AGENT"]; 
    $stmt->execute(); 

    $date_time = 'one'; 
    $value = date('l jS \of F Y h:i:s A'); 
    $stmt->execute(); 

    $ip_address = 'one'; 
    $value = $_SERVER['REMOTE_ADDR']; 
    $stmt->execute(); 

    $username = 'one'; 
    $value = $name; 
    $stmt->execute(); 

Извините, если у меня есть это совершенно неправильно, я совершенно новичок в этом.

Благодаря

ответ

0

В вашем сценарии вы используете $conn в качестве объекта, подключенного к базе данных, так почему вы используете глобальный $dbh. Просто используйте $conn вместо $dbh.

0

Как указано в другом ответе, вы должны соответствовать вашим вызовам вашего объекта PDO. Используйте $conn вместо $dbh, или наоборот.

Ваш текущий код также выполняет ваш SQL-запрос mutliple раз, особенно каждый раз, когда вы вызываете $stmt->execute(). В большинстве случаев вы еще не присвоили значения параметрам привязки.

Ваши $value переменных также не учтены. Вам просто нужно присвоить требуемое значение переменным, указанным в вызовах bindParam.

Попробуйте

$conn = new PDO("mysql:host=localhost;dbname=user_login",'root',''); 
$stmt = $conn->prepare("INSERT INTO login_details (browser, date_time, ip_address, username) VALUES (:browser, :date_time, :ip_address, :username)"); 

$stmt->bindParam(':browser', $browser); 
$stmt->bindParam(':date_time', $date_time); 
$stmt->bindParam(':ip_address', $ip_address); 
$stmt->bindParam(':username', $username); 

$browser = $_SERVER["HTTP_USER_AGENT"]; 
$date_time = date('l jS \of F Y h:i:s A'); 
$ip_address = $_SERVER['REMOTE_ADDR']; 
$username = $name; 

$stmt->execute(); 
Смежные вопросы