2016-04-25 5 views
1

У меня есть код, который я хотел бы запускать на каждой странице, однако он, похоже, не работает вообще.Как добавить команду MySQL на каждую страницу

<?php 
include 'db.php'; 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "User"; 

$conn = new mysqli($servername, $username, $password, $dbname); 

if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "UPDATE users SET login_time=NOW() WHERE id='$id'"; 

if ($conn->query($sql) === TRUE) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . $conn->error; 
} 

$conn->close(); 
?> 

Я также попытался линию

$sql = "UPDATE users SET login-time='NOW()' WHERE id='$id'"; 

Он приходит обратно, говоря Record updated successfully Но не Acctually обновления.

Спасибо

+0

Что находится в 'db.php'? –

+0

Что делает 'var_dump ($ id);' output? – Mike

+0

Здесь я храню данные для информации о пользователе, такие как переменная id. Эта команда должна работать, но это не так. –

ответ

2

Это никогда не будет работать:

if ($conn->query($sql) === TRUE) { 

запрос() вызывает либо возвращает заявление ручки/объект (успеха), или логическое значение FALSE (неисправность). Они никогда не вернут логическое ИСТИННОЕ, что означает, что это сравнение никогда не сможет добиться успеха. Вы никогда не должны получать сообщение об успехе, только «неудачный».

+0

Да .. он должен вместо этого использовать '$ conn-> affected_rows' – Thamilan

+0

Я добавил эту строку к ней, и она сработала ... $ id = $ _SESSION ['user_id']; но все же это было определено в файле db.php –

Смежные вопросы