后端部分:
var {DeviceEventEmitter} = require('react-native')
var dismissKeyboard = require('react-native-dismiss-keyboard')
DeviceEventEmitter.addListener('keyboardDidHide', dismissKeyboard)
前端:
$producttitle = $_POST['product-title'];
$price = $_POST['price'];
$category = $_POST['Category'];
$file = $_FILE['file_upload'];
$description = $_POST['description'];
$adq = "INSERT INTO Advertenties (Titel, Prijs, Categorie, Image, Beschrijving) VALUES (:product-title, :price, :category, :file_upload, :description);";
$query = $GLOBALS['$odb']->prepare($adq);
$results = $query->execute(array(
":product-title" => $producttitle,
":price" => $price,
":category" => $category,
":file_upload" => $file,
":description" => $description
));
所以,这是我上面的代码。这是出于某种原因给我一个错误,但我不能解释为什么。我在互联网上搜索过,我所能找到的东西都与某些东西不相符。我已经经历过这么多次了,它现在开始惹恼我了。
有什么想法吗?
答案 0 :(得分:2)
尝试用:product-title
:product_title
答案 1 :(得分:1)
如果有疑问,请将查询分成尽可能多的行,以便您可以狙击问题,而不是让MySQL始终在第1行报告错误:
打开
$adq = "INSERT INTO Advertenties (Titel, Prijs, Categorie, Image, Beschrijving) VALUES (:product-title, :price, :category, :file_upload, :description);";
向
$adq = "INSERT INTO Advertenties
(Titel,
Prijs,
Categorie,
Image,
Beschrijving)
VALUES
(:product-title,
:price,
:category,
:file_upload,
:description);";
此外,:product-title
是一个有效的占位符吗?
答案 2 :(得分:1)
除了sql占位符名称问题,您还有多个OTHER错误:
字段名称区分大小写:
$category = $_POST['Category'];
^---
<input class="form-control" type="" name="category"/><br>
^----
$ _ FILES是一个数组数组:
$file = $_FILE['file_upload'];
":file_upload" => $file,
您无法将数组绑定到查询占位符。不知道你在这里想做什么 - 插入实际的文件内容,或只是文件的名称?无论哪种方式,它应该像
":file_upload" => $file['tmp_name'],
只从数组中绑定一个特定值。
答案 3 :(得分:0)
而不是将数组作为执行函数的参数,您应该使用bindValue分别绑定所有值。如果将它们作为参数传递,则每个值都将被视为一个字符串,使用bindValue可以保持变量的类型。代码看起来像这样:
$adq = "INSERT INTO Advertenties (Titel, Prijs, Categorie, Image, Beschrijving) VALUES (:product-title, :price, :category, :file_upload, :description);";
$query = $GLOBALS['$odb']->prepare($adq);
$query->bindValue(":product-title", $producttitle);
$query->bindValue(":price", $price);
$query->bindValue(":category", $category);
$query->bindValue(":file_upload", $file);
$query->bindValue(":description", $description);
$result = $query->execute();
我希望这会有所帮助。
成功gewenst
答案 4 :(得分:0)
看起来你有$ category = $ _POST [&#39; 类别&#39;];当你发送&#39;类别&#39;。这导致了未定义的索引。小写c。与Alex一起回答,你应该很好