Проблемы со смешиванием формы и запросов к базе данных MySQL - PullRequest
0 голосов
/ 15 мая 2009

У меня есть следующая форма, которую я сократил настолько, насколько смог, не зная, откуда возникла проблема. Я пытаюсь вставить значения формы в базу данных.

Однако, при попытке использовать форму ниже, она выплевывает:

Запрос был пуст

дважды. Таблица STATUS существует, также как и удаленные поля и уведомление. В данный момент таблица пуста. Я не понимаю, почему запрос будет пустым?

<?php
if (isset($_GET["cmd"]))
  $cmd = $_GET["cmd"]; else
if (isset($_POST["cmd"]))
  $cmd = $_POST["cmd"]; else
die("Invalid URL");
if (isset($_GET["pk"])) {
    $pk = $_GET["pk"];
}
if (isset($_POST["deleted"])) {
    $deleted = $_POST["deleted"];
}
if (isset($_POST["notice"])) {
    $notice = $_POST["notice"];
}
$con = mysqli_connect("localhost","user","password", "db");
if (!$con) {
    echo "Can't connect to MySQL Server. Errorcode: %s\n". mysqli_connect_error();
    exit;
}
$con->set_charset("utf8");
$getformdata = $con->query("select * from STATUS where ARTICLE_NO = '$pk'");
$checkDeleted = "";
$checkNotice = "";
while ($row = mysqli_fetch_assoc($getformdata)) {
    $checkDeleted = $row['deleted'];
    $checkNotice = $row['notice'];
}
if($cmd=="submitinfo") {
    $statusQuery = "INSERT INTO STATUS VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
    if ($statusInfo = $con->prepare($userQuery)) {
        $statusInfo->bind_param("ss", $deleted, $notice);
        $statusInfo->execute();
        $statusInfo->close();
        echo "true";
    } else {
        echo "false";
    }
    print_r($con->error);
}
if($cmd=="EditStatusData") {
    echo "<form name=\"statusForm\" action=\"test.php\" method=\"post\" enctype=\"multipart/form-data\">
<h1>Editing information for auction: ".$pk."</h1>
Löschung Ebay:
<input type=\"checkbox\" name=\"deleted\" value=\"checked\" ".$checkDeleted." />
<br />
Abmahnung:
<input type=\"checkbox\" name=\"notice\"  value=\"checked\" ".$checkNotice."  />
<br />
<input type=\"hidden\" name=\"cmd\" value=\"submitinfo\" />
<input name=\"Submit\" type=\"submit\" value=\"submit\" />
</form>";
} else {
    print_r($con->error);
}

Ответы [ 3 ]

0 голосов
/ 15 мая 2009

Попробуйте поместить некоторое содержимое в таблицу ... Имеет смысл, что если нечего возвращать, он скажет вам, что запрос был пустым.

0 голосов
/ 15 мая 2009

Ваше назначение

$ statusQuery = "INSERT INTO ....

но вы ссылаетесь на переменную с именем $ userQuery

if ($ statusInfo = $ con> prepare ( $ userQuery )) {

0 голосов
/ 15 мая 2009

Здесь есть опечатка:

$statusQuery = "INSERT INTO STATUS VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
if ($statusInfo = $con->prepare($userQuery)) {

Не должна ли вторая строка быть $ statusQuery также?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...