Я пишу простую программу PHP cgi, которая должна использовать MySql. Я начал с двух столбцов в таблице игроков, и мой SELECT работал нормально. Я добавил еще один столбец с тех пор, как он называется class_id. Когда я делаю SELECT сейчас, я возвращаю три записи в строке $ row, но третья запись называется игроками вместо class_id.
$sql = "SELECT * FROM players"; $result = $conn->query($sql); while( $row = $result->fetch_assoc() ){ do something }
Схема:
DROP TABLE IF EXISTS `asrleague`.`players`; CREATE TABLE `asrleague`.`players` ( `player_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `kgs_handle` varchar(40) NOT NULL, `class_id` int(10) unsigned NOT NULL, PRIMARY KEY (`player_id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
Является ли PHP кэшированием информации о таблице где-нибудь, и мне нужно как-то ее обновить?
Я также вижу это предупреждение, которое было там все время:
<b>Warning</b>: mysqli::mysqli() [<a href='mysqli.mysqli'>mysqli.mysqli</a>]: Headers and client library minor version mismatch. Headers:50145 Library:50018 in ...
Я не уверен, что это связано или нет, но он был там до начала проблемы.
Некоторый Googling в вашем сообщении об ошибке дает интересные темы:
Кажется, что может потребоваться переустановка PHP.
Цитирование ответа (anishmsry's) из первой ссылки (смелый от меня):
Привет, bmcgill … Я установил php, mysql и apache несколько месяцев назад на своем компьютере, следуя инструкциям из книги Кевина. и проблем не было. все работает нормально.
На прошлой неделе я купил новый компьютер и установил последние версии на новом компьютере. после установки и запуска. Я получил ошибку, которую получил: Предупреждение: mysqli_connect () [function.mysqli-connect]: несогласование малой версии заголовков и клиентской библиотеки. Заголовки: 50051 Библиотека: 50145
я переустановил все и снова, я получал ту же ошибку. У меня был тот же conf для mysql, php и apache, как вы говорили.
я удалил apache и php. и установили более ранние версии, которые я использовал: apache-2.2.11 и php-5.3.0. на этот раз все работает нормально, и ошибки не было
хорошо, это просто сработало для меня. вот почему я говорю. Я не знаю, почему это сработало.
Я искал эту проблему в сети, и на форуме на веб-сайте mysql я обнаружил, что у кого-то другого была проблема с гораздо более ранними версиями. он переустановил php, и проблема была решена.