我有下一个代码,我已经尝试在数据库中插入问题,存储过程正常工作:
商店程序为:
DELIMITER //
CREATE PROCEDURE newProduct
(
IN tipo VARCHAR(10),
IN categoria VARCHAR(10),
IN marca VARCHAR(10),
IN modelo VARCHAR(10),
IN color VARCHAR(10),
IN talla DOUBLE,
IN corte VARCHAR(15),
IN cveprecio VARCHAR(20),
IN precio DECIMAL(7,2),
IN sugp DECIMAL(7,2)
)
BEGIN
START TRANSACTION;
INSERT INTO tipos (tipo) VALUES (tipo);
INSERT INTO marcas (marca,modelo) VALUES (marca,modelo);
INSERT INTO colores (color) VALUES (color);
INSERT INTO tallas (talla) VALUES (talla);
INSERT INTO corte (corte) VALUES (corte);
INSERT INTO precios (cveprecio,precio,sugp) VALUES (cveprecio,precio,sugp);
COMMIT;
END//
DELIMITER ;
在MYSQL中调用存储过程(工作正常)
致电newProduct('Tenis','Hombre','Nike','ACG90','Negro',26.5,'Sintetico','6p90',690.50,750.50);
用于连接数据库的代码PHP
<?php//connect.php
$connect= mysqli_connect('localhost','root','xxxx','bancodedatos');
if (!$connect)
{
printf("Can't connect to MySQL Server.", mysqli_connect_error());
exit;
}
?>
插入和调用存储过程的代码
<?php//insert.php
include("../connect.php");
$tipo= isset($_POST['tipo']) ? $_POST['tipo'] : NULL;
$categoria= isset($_POST['categoria']) ? $_POST['categoria'] : NULL;
$marca= isset($_POST['marca']) ? $_POST['marca'] : NULL;
$modelo= isset($_POST['modelo']) ? $_POST['modelo'] : NULL;
$color= isset($_POST['color']) ? $_POST['color'] : NULL;
$talla= isset($_POST['talla']) ? $_POST['talla'] : NULL;
$corte= isset($_POST['corte']) ? $_POST['corte'] : NULL;
$cveprecio= isset($_POST['cveprecio']) ? $_POST['cveprecio'] : NULL;
$precio= isset($_POST['precio']) ? $_POST['precio'] : NULL;
$sugp= isset($_POST['sugp']) ? $_POST['sugp'] : NULL;
$createProduct=mysqli_query($connect,"CALL newProduct($tipo,$categoria,$marca,$modelo,$color,$talla,$corte,$cveprecio,$precio,$sugp)");
mysql_close ($connect);
?>
从php调用它不会插入数据库,谢谢,以及来自墨西哥的问候
答案 0 :(得分:1)
更改
$createProduct=mysqli_query($connect,"CALL newProduct($tipo,$categoria,$marca,$modelo,$color,$talla,$corte,$cveprecio,$precio,$sugp)");
要
$createProduct=mysqli_query($connect,"CALL newProduct('$tipo','$categoria','$marca','$modelo','$color','$talla','$corte','$cveprecio','$precio','$sugp')");
使用mysqli_real_escape_string()
转换'
和"
变量值