php存数据到数据库,echo出来的sql可正常在mysql里执行但是放在php中执行却抱错,大神们
看代码
$title = $_POST["title"];
$metact_t = $_POST["metact_t"];
$acter = $_SESSION["user"];
$department = $_POST["department"];
$metinfo = $_POST["metinfo"];
$jb = $_POST["jb"];
$department_t = $_POST["department_t"];
获得传过来的参数,并作了输出测试没有问题
$title = iconv("utf-8","gbk",strip_tags($title));
$metact_t = iconv("utf-8","gbk",strip_tags($metact_t));
$acter = iconv("utf-8","gbk",strip_tags($acter));
$department = iconv("utf-8","gbk",strip_tags($department));
$metinfo = iconv("utf-8","gbk",strip_tags($metinfo));
$jb = iconv("utf-8","gbk",strip_tags($jb));
$status = iconv("utf-8","gbk",'未解决');
$department_t = iconv("utf-8","gbk",strip_tags($department_t));
$saveMeetingSql = "insert into t_metact(id,title,metact_t,acter,department,metinfo,jb,department_t,status)".
" values('$id','$title','$metact_t','$acter','$department','$metinfo','$jb','$department_t','$status')";
echo ($saveMeetingSql );
转码输出sql如下:
insert into t_metact(id,title,metact_t,acter,department,metinfo,jb,department_t,status) values('2','测试0908','2014-09-09','admin','网络部','ceshi','重大','网络部','未解决')
在sql管理器中可正常插入
php中报错输出错误:ncorrect string value: '\xB2\xE2\xCA\xD409...' for column 'title' at row 1意思应该是说title对应的测试0908不是正常的字符格式,数据库设计字段为varchar长度20,不知道问题出在哪了,望大神们指点
回复讨论(解决方案)
你向数据库发送的是 gbk 编码的串,而数据库默认的字符集并不是 gbk 的
所以数据库无法识别传入的串,因此出错
你的数据库编码是什么?
插入数据和数据编码要一致。
我估计也是编码器的问题
你向数据库发送的是 gbk 编码的串,而数据库默认的字符集并不是 gbk 的
所以数据库无法识别传入的串,因此出错
我转码出来的echo的sql是正常的啊,就是不清楚怎么就向数据库发成gbk的,应该是编码问题但就是不知道问题出在哪,我连接数据库的时候设置的编码utf8
你的数据库编码是什么?
插入数据和数据编码要一致。
数据库是utf8,插入的sql参数我都转过码了,echo的sql执行也没问题
1、在你的代码中并没有数据库操作的函数,所以我不知道你使用的是什么数据库。因此在回复中没有提出建议
2、你对传入的数据都做了形如 $title = iconv("utf-8","gbk",strip_tags($title)); 这样的操作,这就把 utf-8 编码转成了 gbk 编码
3、把错误信息中的 \xB2\xE2\xCA\xD409... 用 php 打印出来
echo "\xB2\xE2\xCA\xD409...";
就是 gbk 编码的 测试09...
4、如果你连接数据库时已经声明了使用 utf8,那么这些 gbk 编码数据是要因不属于 utf-8 范围而报错的

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Kapitel werden wir die Umgebungsvariablen, die allgemeine Konfiguration, die Datenbankkonfiguration und die E-Mail-Konfiguration in CakePHP verstehen.

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

Das Arbeiten mit der Datenbank in CakePHP ist sehr einfach. In diesem Kapitel werden wir die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) verstehen.

Um in cakephp4 mit Datum und Uhrzeit zu arbeiten, verwenden wir die verfügbare FrozenTime-Klasse.

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

In diesem Kapitel lernen wir die folgenden Themen im Zusammenhang mit dem Routing kennen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Der Validator kann durch Hinzufügen der folgenden zwei Zeilen im Controller erstellt werden.
