2016-04-10 3 views
1

У меня есть данные по одной форме, которая отражается от таблицы, я хочу использовать эти данные для обновления информации в другой таблице. всякий раз, когда я нажимаю кнопку обновления, появляется сообщение об ошибке «невозможно обновить данные: запрос был пуст», вот код обновления, пожалуйста, помогите мне.php mysql таблица обновлений с использованием переменных не работает

<?php 
    if(isset($_POST['submit'])) { 
     $dbhost = 'localhost'; 
     $dbuser = 'root'; 
     $dbpass = ''; 

     $conn = mysql_connect($dbhost, $dbuser, $dbpass); 

     if(! $conn) { 
      die('Could not connect: ' . mysql_error()); 
     } 

     $ItemId = $_POST['ItemId']; 
     $Quantity = $_POST['Quantity']; 

     //$sql = "UPDATE stationery ". "SET Quantity = $Quantity ". "WHERE ItemId = $ItemId" ; 
     $sql = mysql_query("UPDATE stationery set Quantity = ". $Quantity ." WHERE ItemId = '".$ItemId."'"); 
     //$sql=mysql_query("UPDATE stationery SET Quantity = ".mysql_real_escape_string($Quantity)." WHERE IltemId = '".mysql_real_escape_string($ItemId)."'"); 
     mysql_select_db('dbtest'); 
     $retval = mysql_query($sql, $conn); 

     if(! $retval) { 
      die('Could not update data: ' . mysql_error()); 
     } 
     echo "Updated data successfully\n"; 

     mysql_close($conn); 
    } 
    ?> 

и это таблица, в которой данные вторит из таблицы тузд

<?php 
$con = mysql_connect("localhost","root",""); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("dbtest", $con); 

$result = mysql_query ("SELECT * FROM stationery"); 
echo "<table border = '1' style='margin-left:18px;margin-right:18px;'bgcolor='#CFC'> 
    <tr><th bgcolor='#34495E' colspan='9'> 
    <h1><font color='white' align='center'>&nbsp&nbsp&nbspORDER OFFICE SUPPLIES</font></h1> 
</th></tr> 
<tr bgcolor='#CFC' font size='18'> 
<th>Item Name</th> 
<th>Item Id</th> 
<th>Quantity</th> 
</tr>"; 

while ($row = mysql_fetch_array($result)) 
{ 
    echo "<form action=\"\" method=\"post\" enctype=\"multipart/form-data\">"; 
    echo "<tr>"; 
    echo "<td><input type=\"text\" name=\"ItemName\" size=\"30\" value=\" ". $row ['ItemName'] . "\" readonly></td>"; 
    echo "<td><input type=\"text\" name=\"ItemId\" value=\" ". $row ['ItemId'] . "\" readonly></td>"; 
    echo "<td><input type=\"text\" name=\"Quantity\" required></td>"; 
    echo "<td><input type=\"submit\" name=\"submit\" size=\"30\" style='background-color:#3366FF' value=\"Update \"></td>"; 

echo "</tr>"; 
    echo "</form>"; 
    } 
    echo "</table>"; 


    mysql_close($con); 

?> 
+0

Что ошибка это показывая? –

+0

'mysql_ *' функции устарели, используйте mysqli_ * или PDO вместо – Panda

+0

Ошибка: Не удалось обновить данные: Query was empty – musyimi

ответ

0

Измените эту строку:

$sql = mysql_query("UPDATE stationery set Quantity = ". $Quantity ." WHERE ItemId = '".$ItemId."'"); 

To:

$sql = "UPDATE stationery set Quantity = '". $Quantity ."' WHERE ItemId = '".$ItemId."'"; 

Полный код:

<?php 
    $dbhost = 'localhost'; 
$dbuser = 'root'; 
$dbpass = ''; 

$conn = mysql_connect($dbhost, $dbuser, $dbpass); 

if(! $conn) { 
    die('Could not connect: ' . mysql_error()); 
} 

$ItemId = $_POST['ItemId']; 
$Quantity = $_POST['Quantity']; 

$sql = "UPDATE stationery set Quantity = '". $Quantity ."' WHERE ItemId = '".$ItemId."'";; 

mysql_select_db('test'); 
$retval = mysql_query($sql, $conn); 

if(! $retval) { 
    die('Could not update data: ' . mysql_error()); 
} 
echo "Updated data successfully\n"; 

mysql_close($conn); 
?> 
+0

Ошибка больше не существует, но все же она не обновляет данные – musyimi

+0

Что такое данные тип 'Количество'? –

+0

количество является целым числом, а itemid является varchar – musyimi

0

Используйте одинарные кавычки для PHP переменных и обратно клещами для SQL, связанные с именами:

$sql = mysql_query("UPDATE `stationery` set `Quantity` = '$Quantity' WHERE `ItemId` = '$ItemId'"); 
Смежные вопросы