как остановить автоматическое умножение в форме отправки php mysql

этот код работает нормально, но моя проблема в том, что когда я отправляю (размер) данные строки, используя php этот код php, так что он автоматически умножается и отправляется в phpmyadmin, как это

Пример я отправляю форму и (размер) строки данных

480 x 800 пикселей, 4,3 дюйма (плотность пикселей ~ 217 ppi) Датчики:
Акселерометр, близость

и когда я проверяю строку phpmyadmin (размер), чтобы она автоматически умножалась, и отправляю данные строки (размер) следующим образом

350000

как я могу решить эту проблему, пожалуйста, помогите мне решить эту проблему

Спасибо

это php mysql форма отправки данных код

<?php
/*
NEW.PHP
Allows user to create a new entry in the database
*/

// creates the new record form
// since this form is used multiple times in this file, I have made it a function that is easily reusable
function renderForm($model, $category, $weight,$size, $error)
{
?>

<?php// if there are any errors, display them
if ($error != '')
{
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>

<?php
}//This is the directory where images will be saved
$target = "media/";
$target = $target . basename( $_FILES['photo']['name']);

//This gets all the other information from the form

$photo=($_FILES['photo']['name']);
//Writes the photo to the server
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target))
{

//Tells you if its all ok
echo "<center>Photo ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory</center>";
}//connect to database

mysql_connect('localhost','root','password');
mysql_select_db('price');// check if the form has been submitted. If it has, start to process the form and save it to the database
if (isset($_POST['submit']))
{
// get form data, making sure it is valid
$model = mysql_real_escape_string(htmlspecialchars($_POST['model']));
$category = mysql_real_escape_string(htmlspecialchars($_POST['category']));
$weight = mysql_real_escape_string(htmlspecialchars($_POST['weight']));
$size = mysql_real_escape_string(htmlspecialchars($_POST['size']));
$entertainment = mysql_real_escape_string(htmlspecialchars($_POST['entertainment']));
$price = mysql_real_escape_string(htmlspecialchars($_POST['price']));
$date = mysql_real_escape_string(htmlspecialchars($_POST['date']));
$photo = mysql_real_escape_string(htmlspecialchars($_FILES['photo']['name']));

// check to make sure both fields are entered
if ($model == '' || $category == '')
{
// generate error message
$error = 'ERROR: Please fill in all required fields!';

// if either field is blank, display the form again
renderForm($model, $category, $weight, $size,$error);
}
else
{
// save the data to the database
mysql_query("INSERT mprice SET model='$model', category='$category',  weight='$weight',  size='$size',  entertainment='$entertainment', price='$price', date='$date', photo='$photo'")
or die(mysql_error());
echo "<center>Done!</center>";
// once saved, redirect back to the view page

}
}
else
// if the form hasn't been submitted, display the form
{
renderForm('','','','','','','','');
}?>

0

Решение

Вы испытываете инъекцию sql. То есть вы разрешаете запуск кода, представленного пользователем, на вашем сервере базы данных. Строка 480 * 800 это код, и сервер MySQL запускает его для вас.

Это не классная функция в открытом интернете. К счастью для вас, у вас нет ;DROP TABLE mprice; акселерометр в одном из ваших рядов, а?

Пожалуйста, рассмотрите возможность использования переменных связывания. Это проще всего сделать, если вы обновите MySQL API до mysqli_ или же PDO,

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]