如何将结果从php写入数据库
我需要将以下内容写入数据库:第一个整数、第二个整数和结果。在页面的末尾,我编写了一些代码,试图将结果放入数据库,但它只写入第一个整数和第二个整数,而不写入实际结果 我是这方面的初学者 正如您所看到的,代码的第一部分是最大公约数的实际计算。我编写的第二部分应该将结果写入数据库,但它只写入1和2个整数,而不是实际结果如何将结果从php写入数据库,php,mysql,database,html,Php,Mysql,Database,Html,我需要将以下内容写入数据库:第一个整数、第二个整数和结果。在页面的末尾,我编写了一些代码,试图将结果放入数据库,但它只写入第一个整数和第二个整数,而不写入实际结果 我是这方面的初学者 正如您所看到的,代码的第一部分是最大公约数的实际计算。我编写的第二部分应该将结果写入数据库,但它只写入1和2个整数,而不是实际结果 <!DOCTYPE HTML> <?php #Created Dec 18 02:09:31 2016 #author: Justin, owner of linux
<!DOCTYPE HTML>
<?php
#Created Dec 18 02:09:31 2016
#author: Justin, owner of linuxwebdevelopment.com
$first_integer = $_POST['integer1'];
$second_integer = $_POST['integer2'];
**$result = $_POST ['result'];** //These I wrote myself i think it is wrong
function gcd($x, $y)
{
/*This function finds the gcd (greatest common divisor)
of the two integers $x and $y and returns the gcd
It uses the Euclidean Algorithm.
The general form for the Euclidean Algorithm is
r_k = q_(k+2)*r_(k+1) + r_(k+2)
Here _ denotes subscripts.
Above Parentheses indicate that the subscript is more than 1 character long
for the code I just remove the _ and ()
initially $r_k = $x and $r_(k+1) = $y
*/
if ($x == $y) {
return 1;
} elseif ($x == 0 or $y == 0) {
return 1;
} else {
#we assume $x is greater than y. If $y is greater than $x,
#just switch them
if ($y > $x) {
$temp = $x;
$x = $y;
$y = $temp;
}
$rk = $x;
$rkp1 = $y;
$rkp2 = $rk % $rkp1;
if ($rkp2 == 0)
return $rkp1;
else {
while ($rkp2 != 0) {
$rk = $rkp1;
$rkp1 = $rkp2;
$rkp2 = $rk % $rkp1;
}
return $rkp1;
}
}
}
$result = gcd($first_integer, $second_integer);
echo "Najväčší spoločný deliteľ $first_integer a $second_integer je $result";
**$link = mysql_connect("localhost", "root")
or die("Nelze se připojit: " . mysql_error());
print "Připojeno úspěšně";
mysql_select_db("delitel") or die("Nelze vybrat databázi");
$a = $_POST["integer1"];
$b = $_POST["integer2"];
$c = $_POST["result"];
mysql_query("INSERT INTO delitel(integer1,integer2,vysledok) values ('$a','$b','$c')");
mysql_close($link);
include("vypis.php");**
?>
$\u POST['result']
未显示在数据库中,因为它是空值。
您的$c=$\u POST['result']中未存储任何数据代码>
因此,在将gcd函数的返回存储在$result
中时,只需使用$c=$result
即可,而不是使用$\u POST['result']
请停止使用mysql.*
函数。它们已经被弃用超过3年了,它们将不再在PHP7+中工作。您的代码对用户开放。这基本上意味着,您网站的任何访问者只需不到一分钟的时间就可以对您的数据库执行他们想要的任何操作。这包括摧毁它。考虑使用或结合。这只是一个学校的项目,我需要完成它不是实际的网站与一些敏感数据…没有关系。如果你还在学习,从一开始就用正确的方法学习。不要因为你不想学习而使用软弱的借口。在PHP7中,您甚至不能再使用mysql.*
函数。它们已被删除。$c=$a+b代码>耐心不是问题。其实是你想学点东西。我们不是在告诉你不应该使用mysql.*
函数,以此来欺骗你。我们这样说是为了让你学习和提高。在这种情况下可能没什么大不了的,但当它真的起作用时,你会犯错误,因为你一开始就做错了。是的,当这种情况发生时,人们实际上可以在法庭上起诉你没有尽你所能保护他们的数据。