Fehler HY093 mit einer MySQL-Insert-PDO-Anfrage
Nach der Lektüre alle anderen Fragen über die HY093, öffne ich diese ein, um herauszufinden, warum ich habe diese Meldung auch.
Hier ist meine Tabelle :
Und hier ist meine Anfrage :
(Wobei $conn ist meine PDO-Verbindung)
$sql = $conn->prepare("INSERT INTO Sites (Email,URL,Title,Description,PageRank,Rewrite,MetaDesc,Origin,BackLink,nbBackLink,RssTitle,RssAddress,SocAddress,SocPostalCode,SocCity,SocCountry,SocTel,Offer,Status,nbHit)
VALUES (:Email,:URL,:Title,:Description,:PageRank,:Rewrite,:MetaDesc,:Origin,:BackLink,0,:RssTitle,:RssAddress,:SocAddress,:SocPostalCode,:SocCity,:SocCountry,:SocTel,:Offer,:Status,0)");
$sql->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$pageRank = new GooglePageRank($_POST["site_url"]);
$sql->bindParam(":Email",$_POST["submail"],PDO::PARAM_STR);
$sql->bindParam(":URL",$_POST["site_url"],PDO::PARAM_STR);
$sql->bindParam(":Title",$_POST["site_title"],PDO::PARAM_STR);
$sql->bindParam(":Description",$_POST["site_desc"],PDO::PARAM_STR);
$sql->bindParam(":PageRank",$pageRank->PageRank,PDO::PARAM_INT);
$sql->bindParam(":Rewrite",stringToRewrite($_POST["site_title"]),PDO::PARAM_STR);
$sql->bindParam(":MetaDesc",$_POST["site_desc"],PDO::PARAM_STR);
$sql->bindParam(":Origin",$_POST["site_country"],PDO::PARAM_STR);
$sql->bindParam(":BackLink",$_POST["site_backlink"],PDO::PARAM_STR);
$sql->bindParam(":RssTitle",$_POST["site_rss_title"],PDO::PARAM_STR);
$sql->bindParam(":RssAddress",$_POST["site_rss_addr"],PDO::PARAM_STR);
$sql->bindParam(":SocAddress",$_POST["soc_addr"],PDO::PARAM_STR);
$sql->bindParam(":SocPostalCode",$_POST["soc_cp"],PDO::PARAM_STR);
$sql->bindParam(":SocCity",$_POST["soc_city"],PDO::PARAM_STR);
$sql->bindParam(":SocCoutry",$_POST["soc_pays"],PDO::PARAM_STR);
$sql->bindParam(":SocTel",$_POST["soc_tel"],PDO::PARAM_STR);
$offer = $_POST["offer"] == "premium" ? 1 : 0;
$status = $_POST["offer"] == "premium" ? 2 : 0;
$sql->bindParam(":Offer",$offer,PDO::PARAM_INT);
$sql->bindParam(":Status",$status,PDO::PARAM_INT);
$sql->execute();
var_dump($sql->errorInfo());
var_dump($sql->errorCode());
Irgendeine Idee, warum ich immer eine HY093 Fehler?
sicher. Anzahl der gebundenen Variablen entspricht nicht Anzahl der Token
Dies war nicht so. Aynber gefunden, warum 😉
Das war exakt Fehler. Es gibt kein :SocCoutry token in der Abfrage, bedeutet, dass die Nummer nicht übereinstimmt
Dies war nicht so. Aynber gefunden, warum 😉
Das war exakt Fehler. Es gibt kein :SocCoutry token in der Abfrage, bedeutet, dass die Nummer nicht übereinstimmt
InformationsquelleAutor Bahaïka | 2013-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie einen Tippfehler in einem deiner bindParams, das heißt, Sie haben ein mismatch in Parameter:
sollte
Ich hatte das gleiche problem. Und Es ist schon Kosten, mir viel Zeit für die Suche nach dem Fehler in meinem code. Noch auf der Suche nach ...
Es ist wahrscheinlich ein Tippfehler irgendwo, aber Sie können erstellen Sie eine neue Frage. Ein frisches paar Augen kann helfen.
InformationsquelleAutor aynber
Hier ist ein interessanter Fall fand ich:
Ausführen dieser Abfrage:
Gebunden mit:
funktioniert... aber
schlägt mit einer HY093 Fehler.
Ich vermutete, dies war bedingt durch die implizite Konvertierung von string zu Datum, aber versuchen, eine explizite STR_TO_DATE(format, sDate) trifft nicht zu beheben.
Aber wenn ich zitieren alle meine Platzhalter in anderen Abfragen mit PDO::PARAM_STR Wert, es verursacht Probleme.
Weiß ich das nicht wirklich beantworten Sie die Q, aber es fügt ein weiterer Fall, um den mix zu helfen, herauszufinden, was Los ist.
ich habe irgendwie dasselbe Problem, ich fand, dass, wenn die var-array enthalten mehr Einträge, dann die Abfrage erwarten, dann HY093 passiert
InformationsquelleAutor Sanford Staab