2
Я пытаюсь создать скрипт, который меняет мою кодировку с utf8mb4 на utf8.Изменить utf8mb4 на utf8
Мое знание PHP немного устарело, и я не могу заставить скрипт работать с mysqli.
это базовый сценарий я имел:
<?php
$con = mysql_connect('localhost','user','password');
if(!$con) { echo "Cannot connect to the database ";die();}
mysql_select_db('dbname');
$result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE $value CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
}}
echo "The collation of your database has been successfully changed!";
?>
он не работает, так что я пытался обновить его Mysqli и теперь у меня есть это:
<?php
$mysqli = new mysqli("localhost", "root", "", "test");
if (mysqli_connect_errno()) {
printf("connexion error : %s\n", mysqli_connect_error());
exit();
}
if ($result = $mysqli->query("SELECT DATABASE()")) {
$row = $result->fetch_row();
printf("The database is : %s.\n", $row[0]);
$result->close();
}
$result=mysqli_query('show tables');
while($tables = mysqli_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysqli_query("ALTER TABLE $value CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
}}
echo "The collation of your database has been successfully changed!";
?>
Я думаю, что проблема в последняя часть, ошибки я получаю:
чем k вам за вашу помощь! :)
mysqli_query() нужен как первый параметр для вашего подключения. Используйте его как '$ result = mysqli_query ($ mysqli, 'show tables'); 'Читайте http://php.net/manual/en/mysqli.query.php – Saty
Я пробовал это, но теперь я получаю 50 раз ту же ошибку:' mysqli_query() ожидает как минимум 2 параметра, 1 задано ' – Relisora
Имеете ли вы изменить внутри запроса петли foreach ?? – Saty