0

我有下一个代码,我已经尝试了在数据库中插入的问题,存储过程正常工作:

存储过程是:

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 中调用存储过程(有效)

call 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 调用它不会插入数据库,谢谢,来自墨西哥的问候

4

1 回答 1

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()转义'"变量值

于 2012-11-29T09:12:48.467 回答