Я не могу вставить изображение с высоким разрешением [дубликат]

$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

Вы определяете строку, используя одинарные кавычки, и PHP не анализирует строки с разделителями одиночной кавычки. Чтобы получить переменную интерполяцию, вам нужно использовать двойные кавычки или конкатенацию строк (или их комбинацию). См. http://php.net/manual/en/language.types.string.php для получения дополнительной информации.

Также вы должны проверить, что mysql_query вернул действительный ресурс результата, иначе fetch_ *, num_rows и т. д. не будут работать с результатом, поскольку это не результат! IE:

$username = $_POST['username'];
$password = $_POST['password'];
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');

if( $result === FALSE ) {
   trigger_error('Query failed returning error: '. mysql_error(),E_USER_ERROR);
} else {
   while( $row = mysql_fetch_array($result) ) {
      echo $row['username'];
   }
}

http://us.php.net/manual/en/function.mysql-query.php для получения дополнительной информации.

-1
задан mehdok 1 November 2015 в 09:28
поделиться

3 ответа

Под управлением Android CursorWindow ограничен 2 МБ данных. Попытка работать с Cursor, которая имеет больше данных, чем это приведет к тому, что эти «не удалось прочитать» исключения.

Вы можете обойти это, не включая столбцы с большими данными в вашем запросе. Замените SELECT * более селективным SELECT column1,column2,... без каких-либо больших столбцов данных.

В целом вы не должны хранить большие данные, такие как изображения или содержимое файла в базе данных Android sqlite. Храните большие данные в файловой системе и просто сохраните путь в своей базе данных.

2
ответ дан laalto 28 August 2018 в 05:11
поделиться

с помощью @pskink я наконец достиг этого кода, который может получить все данные без какой-либо ошибки. tnx all.

ArrayList<QuestionInfoHolder> result = new ArrayList<QuestionInfoHolder>();
        SQLiteDatabase db = getReadableDatabase();
        android.database.sqlite.SQLiteStatement st = db.compileStatement("SELECT Content FROM " + ARTICLES_TABLE_NAME + " WHERE ID = ?;");
        String query = "SELECT ID,CategoryID,Title,Date FROM " + ARTICLES_TABLE_NAME +";";
        Cursor cursor = db.rawQuery(query, null);
        if(cursor != null)
        {
            for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext())
            {
                st.bindLong(1, cursor.getInt(0));
                String content = st.simpleQueryForString();
                result.add(new QuestionInfoHolder(cursor.getInt(0),
                        cursor.getInt(1),
                        cursor.getString(2),
                        cursor.getString(3),
                        content));
            }
        }
0
ответ дан mehdok 28 August 2018 в 05:11
поделиться

Прочитайте курсор таким образом

   if (cursor.moveToFirst()) {
            do {

              result.add(new QuestionInfoHolder(cursor.getInt(0),
                    cursor.getInt(1),
                    cursor.getString(2),
                    cursor.getString(3),
                    cursor.getString(4)));

            }
            while (cursor.moveToNext());

        }
0
ответ дан S. Alawadi 28 August 2018 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: