valores de inserção MySQL com seleccione

votos
-2

Eu estou tentando inserir valores como este:

$sql = INSERT INTO daily_food (number, weight, title, price) VALUES ('1', SELECT weight, title, price FROM food where title = '$add_food' LIMIT 1);
mysqli_query($conn, $sql);

Tenho de banco de dados com os alimentos que eu estou selecionando. Gostaria de inserir esse número aswell mas o código não está fazendo nada. Eu sou novo no SQL para que eu não consigo descobrir como o código deve olhar.

Publicado 20/10/2018 em 14:01
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

Basta usar insert . . . select, valuesnão é necessário:

INSERT INTO daily_food (number, weight, title, price) 
    SELECT 1, weight, title, price
    FROM food 
    WHERE title = '$add_food'
    LIMIT 1;

Im assumindo que numberé, de fato, um número, de modo citações não são necessários.

Além disso, você deve estar passando $add_foodcomo um parâmetro, algo como isto:

INSERT INTO daily_food (number, weight, title, price) 
    SELECT 1, weight, title, price
    FROM food 
    WHERE title = ?
    LIMIT 1;
Respondeu 20/10/2018 em 14:02
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more