php sqlite не хранит данные - PullRequest
0 голосов
/ 30 ноября 2011

Я пробую sqlite с php.На сервере, когда я выполняю команду sqlite3, он показывает версию и справку, предполагающую, что sqlite там установлен.Моя структура папок выглядит следующим образом: / username / public_html /
Теперь я создал базу данных «chatuser.db» с таблицей «Users» и двумя столбцами «Username» и «Password» с помощью команды sqlite3 в / username I, затемскопировал базу данных с помощью WinSCP в мою папку Windows, а затем скопировал ее обратно на сервер здесь: / username / public_html / (я знаю, что не стоит хранить файл db в public_html, но я просто пробую пример).Теперь у меня есть следующий php-файл:
add.php:

<?php

$password = $_POST['password'];
$username = $_POST['username'];

$name_es = sqlite_escape_string($username);
$password_es = sqlite_escape_string($password);

if (!empty($username)) {

   $dbhandle = sqlite_open('chatuser.db', 0666, $error);

   if (!$dbhandle) die ($error);

   $stm = "INSERT INTO Users(Username, Password) VALUES('$name_es', '$password_es')";
   $ok = sqlite_exec($dbhandle, $stm, $error);

   if (!$ok) die("Error: $error");  
   else echo "Success";
}
?>

index.html:

<html>
<head>
<title>Login Trial</title>
</head>
<body style="font-size:12;font-family:verdana">

<form action="add.php" method="post">

<p>
Name: <input type="text" name="username"><br>
Password: <input type="text" name="password"><br><br>

</p>

<p>
<input type="submit">
</p>

</form>


</body>
</html>

При нажатии на кнопку отправки, он загружает add.php, ноне показывает мне ни сообщение об успехе, ни сообщение об ошибке.Я не могу понять, почему.В качестве дополнительного примечания я также выполнил chmod 777 из chatuser.db.Это мое первое знакомство с sqlite, любая помощь будет отличной.Спасибо

[решено] Найдена проблема, было несовпадение версий.sqlite_open не будет работать.Альтернатива этому решению: Ошибка: файл зашифрован или не является базой данных

1 Ответ

1 голос
/ 30 ноября 2011

Полагаю, что sqlite_open вызывает фатальную ошибку, и ваш PHP не настроен на их отображение.

Попробуйте поставить одну echo перед sqlite_open и одну после - если толькопервый - echo'ed, вы знаете, в чем проблема.

Возможно, вы захотите загрузить модуль sqlite3 в PHP.

-edit-

На самом деле, этоотносится только к PHP 4, который вы, вероятно, больше не используете.В любом случае, убедитесь, что ваш PHP выводит ошибки (зайдите в php.ini и установите display_errors на On и error_reporting на E_ALL).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...