gpt4 book ai didi

php - 在触发事件时将 php 变量插入数据库

转载 作者:行者123 更新时间:2023-11-29 13:45:04 24 4
gpt4 key购买 nike

你可能会说这个问题已经问过很多次了!你是对的,但那些并没有给我解决方案。我正在尝试使用插入事件触发器将插入的数据和两个变量插入数据库,代码在这里:

< html > <body > 
<?php

$s = $_POST['sent'];
echo "Entered sentence : $s";
$a = array();
$b = array();
if (preg_match_all('/[^=]*=([^;@]*)/', shell_exec("/home/technoworld/Videos/LinSocket/client '$s'"), $matches))
//if (preg_match_all('/[^=]*=([^;@]*)/', shell_exec('/home/technoworld/Videos/LinSocket/client '.escapeshellarg($s)), $matches))
{
$a[] = (int) $matches[1][0]; //optionally cast to int
$b[] = (int) $matches[1][1];
}

$x = (int) $matches[1][0];
$y = (int) $matches[1][1];

$p=10;
$q=20;
echo $x;
echo "<br/>";
echo $p;
echo "<br/>";


//---------------DB stuff --------------------

$con = mysqli_connect('127.0.0.1:3306', 'root', 'root', 'test');
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: ".mysqli_connect_error();
}


$sql2 = "CREATE TRIGGER MysqlTrigger AFTER INSERT ON table1 FOR EACH ROW BEGIN INSERT INTO temp VALUES (NEW.sent,'".$x."','".$p."');";
mysqli_query($con,$sql2);

$sql1 = "INSERT INTO table1 (sent)VALUES('$_POST[sent]')";

if (!mysqli_query($con, $sql1)) {
die('Error: '.mysqli_error($con));
}
echo "1 record added";
mysqli_close($con);

?>
</html > </body >

数据已成功插入table1,并且触发事件也有效。但是在触发器上 NEW.sent 被插入,而其余两个 var 始终插入为“ZERO”- 0。查看我尝试过的网络上给出的各种解决方案:

(NEW.sent,'$x','$p');";
(NEW.sent,"$x","$p");";

等,但每次都会为这两个值插入 0。

$x 和 $p 的数据类型是整数,在表中我为这两个参数采用了 int 值。这是什么问题?

最佳答案

我的建议是:

(NEW.sent, ".$x.", ".$p.");";

关于php - 在触发事件时将 php 变量插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17544767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com