Итак, я новичок в php и с помощью mysql. В моей программе я попытался сделать простые функции редактирования, добавления и удаления. Ну, функции добавления и удаления работают, но что-то не так с редактированием ... Всякий раз, когда я иду на phpMyAdmin, чтобы проверить, есть ли изменения в базе данных, я не нашел ни одного ...
Я был бы очень благодарен, если бы кто-то мог вести меня в этой части ...Обновление данных, не работающих в Php и MySql
часть adminpanel.php:
if(array_key_exists('editshirt', $_POST))
{
include 'editshirt.php';
exit();
}if(array_key_exists('changeshirt', $_POST))
{
if(!mysqli_query($dbconnect, 'update shirts set
shirtName="'.mysqli_real_escape_string($dbconnect, $_POST['shirtName']).'",
shirtDescription="'.mysqli_real_escape_string($dbconnect, $_POST['shirtDescription']).'",
shirtGender="'.mysqli_real_escape_string($dbconnect, $_POST['shirtGender']).'",
shirtColor="'.mysqli_real_escape_string($dbconnect, $_POST['shirtColor']).'",
shirtPrice="'.mysqli_real_escape_string($dbconnect, $_POST['shirtPrice']).'",
shirtPicture="'.mysqli_real_escape_string($dbconnect, $_POST['shirtPicture']).'",
where shirts.shirtId="'.mysqli_real_escape_string($dbconnect, $_POST['shirtId']).''))
echo ' ';
exit();
}
А вот мой editShirt.php
<?php
$yas = mysqli_query($dbconnect, "select * from shirts where shirtId=".mysqli_real_escape_string($dbconnect, $_POST['shirtId']));
$roww = mysqli_fetch_array($yas);
echo "<p>Edit Shirt:</p>";
echo "<form action='?' method='post'>";
/*echo "<label for='shirtName'>Shirt Name: </label>
<input type='text' name='shirtName' value=".$roww['shirtName']."><br>";*/
echo "<label for='shirtName'>Shirt Name: </label>
<textarea name='shirtName' style='resize:none'>".$roww['shirtName']."</textarea><br>";
echo "<label for='shirtDescription'>Description: </label>
<textarea name='shirtDescription' rows='10' cols='30' style='resize:none'>".$roww['shirtDescription']."</textarea><br>";
echo "<label for='shirtGender'>Gender: </label>
<input type='radio' name='shirtGender' value='0'";
if($roww['shirtGender']=='0') echo"checked='checked'";
echo ">Male  <input type='radio' name='shirtGender' value='0'";
if($roww['shirtGender']=='1') echo "checked='checked'";
echo ">Female  <input type='radio' name='shirtGender' value='1'";
if($roww['shirtGender']=='2') echo "checked='checked'";
echo ">Unisex<br><br>";
echo "<label for='shirtColor'>Color: </label>
<input type='radio' name='shirtColor' value='0'";
if($roww['shirtColor']=='0') echo "checked='checked'";
echo ">Colored  <input type='radio' name='shirtColor' value='1'";
if($roww['shirtColor']=='1') echo "checked='checked'";
echo ">White  <input type='radio' name='shirtColor' value='1'";
if($roww['shirtColor']=='2') echo "checked='checked'";
echo ">Black<br><br>";
echo "<label for='shirtPrice'>Shirt Price: </label>
<input type='text' name='shirtPrice' value=".$roww['shirtPrice']."><br>";
echo "<label for='shirtPicture'>Shirt Picture: </label>
<input type='text' name='shirtPicture' value=".$roww['shirtPicture']."><br>";
echo "<input type='hidden' name='shirtId' value=".mysqli_real_escape_string($dbconnect, $_POST['shirtId']).">";
echo "<input type='submit' name='changeshirt' value='Update shirt'>";
echo "</form>";?>
Мой бог этот код невозможно прочитать. Но ваша вставка не будет работать, потому что вы используете двойные кавычки для строк внутри запроса. Вместо этого используйте одинарные кавычки. – Phiter
У вас есть логика запроса обновления в adminpanel.php, где вы указали эту ссылку на файл в своей форме, что после отправки вашей формы ваш скрипт будет исполнять adminpanel.php? – Rupal
и 'mysql_real_escape_string' не защитят от SQL-инъекций – Blueblazer172