【发布时间】:2014-12-06 22:11:19
【问题描述】:
尝试用PHP(或JS)创建一个简单的累积加法脚本:
1) 输入任意整数(4位以下),点击提交,输入的数字显示并保存在同一网页上
2) 输入另一个数字,点击提交,输入的数字与之前的数字相加,并保存并显示在网页上
重复……。
示例:garchen.net 上的咒语柜台
下面是我到目前为止的代码 在 Index.php 中:
<form method="post" action= "process-mantra-form-ami.php" >
<p><strong>Amitabha Million Mantra Accumulation: </strong><br></p>
<div style="margin-left: 20px;">
<p>OM AMI DEWA HRI</p>
<input type="text" name="accumulation" size="10" maxlength="6">
<input type="submit" value="Submit Your Mantra" name="B1"><br>
<span id="mani">Amitabha Mantra Count: <?php echo $newValue; ?> </span>
<p></p>
</div>
</form>
我对表单处理 php 感到困惑。我试图将我的本地 mamp 服务器用于数据库。我是否要在 process-mantra-form-ami.php 文件中同时创建连接、创建数据库和表,将表单数据插入表中,并将数据检索回 index.php?
你们在我的上一篇文章中让它看起来很容易,但似乎有很多。我知道我下面的代码不完整且不太正确。救命!
PROCESS-MANTRA-FORM-AMI.PHP 代码如下
<?php
// Create connection
$con=mysqli_connect("localhost:8888","root","root","my_db");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// escape variables for security
$accumulation = mysqli_real_escape_string($con, $_POST['accumulation']);
// Create database
$sql="CREATE DATABASE my_db";
if (mysqli_query($con,$sql)) {
echo "Database my_db created successfully";
} else {
echo "Error creating database: " . mysqli_error($con);
}
// Create table "Mantras" with one column 'Num'
$sql="CREATE TABLE Mantras (Num INT)";
if (mysqli_query($con,$sql)) {
echo "Table mantras created successfully";
} else {
echo "Error creating table: " . mysqli_error($con);
}
// Insert form data into table
$sql="INSERT INTO Mantras (Num INT)
VALUES ('$num')";
if (!mysqli_query($con,$sql)) {
die('Error: ' . mysqli_error($con));
}
// update database
mysqli_query($con,"UPDATE Mantra SET Num = num + 1");
}
mysqli_close($con);
?>
<div>
<h2>Thank you for your <?php echo $num; ?> Amitabha Mantras!</h2>
<p>Remember to dedicate your merit.</p>
<p><a href="index.php">Return to the main site</a></p>
</div>
【问题讨论】:
-
SQL 在运行这个
$sql="INSERT INTO Mantras (Num INT) VALUES ('$num')"; if (!mysqli_query($con,$sql)) { die('Error: ' . mysqli_error($con)); }时出现了什么错误 -
请问您为什么要一遍又一遍地创建数据库?我的意思是,在我看来,如果你用它来处理你的数据,它每次都会尝试创建一个新的数据库?
-
Fred-我还没有运行它
-
icecube-所以你是在建议我将我的三个 $sql 语句合二为一吗?
标签: php sql cumulative-sum