Я хочу сделать нормализацию на данных, которые у меня есть
Я написал следующий код, но он всегда заполняет базу данных 0 и показывает следующее сообщение об ошибке. Неустранимая ошибка: необработанное исключение, у вас есть ошибка в вашем синтаксисе sql
// normalizaiton
$queryNorm0= $this->db->query("SELECT score from score where customer_id =".$customer_id." ");
foreach ($queryNorm0->rows as $scoreV)
{
$scoreValue= $scoreV['score'];
$queryNorm= $this->db->query(" SELECT MIN(`score`) as mins, MAX(`score`) as maxs FROM score WHERE customer_id= ".$customer_id."");
if($queryNorm->num_rows > 0)
{
$normValue= ($scoreValue - $queryNorm->row['mins'])/ (($queryNorm->row['maxs']) - ($queryNorm->row['mins']) );
$queryNorm2= $this->db->query("insert into score set normalized= ".$normValue." WHERE score= ".$scoreValue."");
}
}
любая помощь?
обновленный
$mysqli = new mysqli($hostname, $username, $password, $dbname);
$customer_id='Your_Customer_Id';
$query = "SELECT score from score where customer_id =?";
$stmt = $conn->prepare($query);
$stmt->bind_param("s", $customer_id);
$stmt->execute();
$res = $stmt->get_result();
$data = $res->fetch_all();;
Этот код использует подготовленное утверждение. Это более безопасно и гарантирует, что вы не избежите своего запроса. Проблема в вашем коде заключалась в том, что двойные кавычки, которые вы использовали, экранировали ваш запрос. Вот откуда пришла ошибка. Посмотрите также в этой ссылке для готовые заявления
Других решений пока нет …