Maison >développement back-end >Problème PHP >Que faire si l'insertion de php échoue
Solution à l'échec de l'insertion de PHP dans : 1. Vérifiez le format d'encodage ; 2. Remplacez "mysql_set_charset('utf8');" par "mysql_set_charset('utf-8');" 3. Ouvrez mysql pour trouver la table correspondante. , changez simplement le format d'encodage en "utf8".
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur Dell G3.
Que dois-je faire si l'insertion php échoue ?
Solution|l'insertion php dans l'insertion a échoué|Valeur de chaîne incorrecte : 'xE5x88x98xE5xAEx89' pour la colonne 'name
//代码插入数据 $myID = Null; $myName='刘安'; $myMoney=100; $sqlstatement="insert into users values(Null, '{$myName}', '{$myMoney}')"; $result=mysql_query($sqlstatement); var_dump($result);
always false false false Cela m'a donné envie de mourir
Je n'ai pas vérifié le document plus tard et j'ai soupçonné qu'il s'agissait d'un Problème de format d'encodage
Changer
mysql_set_charset('utf8');
en
mysql_set_charset('utf-8');
résout ce problème. Êtes-vous en colère...
J'ai appris en regardant des vidéos de sites Web PHP chinois, mais il a utilisé utf8 et cela n'a pas fonctionné pour moi. . . Je ne connais pas la raison, mais je vais l'enregistrer pour éviter que cela ne se reproduise
Continuer---------------
Changez-le à nouveau
mysql_set_charset('utf8');
Je pensais que c'était résolu, mais ce n'est pas le cas
Je suis encore plus en colère ci-dessous. Résolu, mais lorsque j'utilisais la commande cmd pour interroger des caractères tronqués, j'étais réticent à penser que c'était un problème avec le format d'encodage cmd. J'ai de nouveau utilisé Navicat Premium et j'ai vu. que les caractères tronqués étaient également tronqués.
Je publierai également la solution finale. C'est à cause de la base de données. Le format d'encodage de la table est incorrect. Ouvrez mysql pour trouver la table correspondante et modifiez le format d'encodage en "utf8". Le problème sera résolu !
Bien sûr, la table de modification de Navicat Premium est difficile à trouver et ne peut même pas être trouvée, donc l'effet du changement d'encodage est le même lors de la modification des champs
Votre problème a été résolu. pas besoin de lire.
$sqlstatement="insert into users values(Null, '{$myName}', '{$myMoney}')"; $result=mysql_query($sqlstatement); var_dump($result); echo mysql_error();
1 Vous pouvez utiliser ce mysql_error() Trouvez des bugs spécifiques et résolvez-les
2 Trouvez des problèmes spécifiques grâce à des bugs spécifiques, n'allez pas plus loin en les décrivant aveuglément. L'insertion php au-dessus du titre n'a pas réussi à insérer...
Apprentissage recommandé : "
Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!