«Неверное целочисленное значение» для запроса SQL внутри сценария PHP - PullRequest
0 голосов
/ 25 апреля 2020

Следующий запрос отлично работает в SQL, но не как SQL Запрос в PHP по некоторым причинам. Сообщение об ошибке выглядит следующим образом:

Неправильное целочисленное значение: «SELECT id FROM colors WHERE color =» для столбца databasename. numbers. col_id в строке 1

$redID = "SELECT id FROM colours WHERE colour = $red";

$populate = "INSERT INTO numbers (col_id) VALUES ('$redID')";

$result=$conn->query($populate);

Таблица базы данных - цифры

Таблица базы данных - цвета

1 Ответ

1 голос
/ 25 апреля 2020

Ваш заполненный запрос не может принять SQL String в качестве col_id.

$redIDSQL = "SELECT id FROM colours WHERE colour = '$red'";
$redIDQuery=$conn->query($redIDSQL);

$redIDArray=array();
while($redIDResult=mysqli_fetch_assoc($redIDQuery)){
    $redIDArray[]=$redIDResult['id'];
}

if(count($redIDArray)>0){
    $populateSQL = "INSERT INTO numbers (col_id) VALUES ('".implode("'),('",$redID)."')";
    $populateQuery=$conn->query($populateSQL);
}else{
    echo "redID could not be found with colour matching ".$red;
}
...