Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将HTML表单中的值添加到数据库中的值_Php_Mysql - Fatal编程技术网

Php 如何将HTML表单中的值添加到数据库中的值

Php 如何将HTML表单中的值添加到数据库中的值,php,mysql,Php,Mysql,我正在尝试创建一个表单,以允许用户将表单中的数据更新为数据库中的现有数量。这是我到目前为止得到的,它似乎是这个值的两倍。我想我需要从数据库中提取值,然后从表单中添加数据 <?php $username = "username"; $password = "password"; $hostname = "localhost"; //connection to the database $dbhandle = mysql_connect($hostname, $username, $pas

我正在尝试创建一个表单,以允许用户将表单中的数据更新为数据库中的现有数量。这是我到目前为止得到的,它似乎是这个值的两倍。我想我需要从数据库中提取值,然后从表单中添加数据

<?php 
$username = "username";
$password = "password";
$hostname = "localhost";

//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password)
 or die("Unable to connect to MySQL");
echo "<font face=tahoma color=#ff000><b>Connected to MySQL</b></font><br><br>";

//select a database to work with
$selected = mysql_select_db("pdogclan_points",$dbhandle)
  or die("Did this change");

// Formulate Query
$_POST["filter"];
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$query = sprintf("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'") or die("Could Not Formulate the Query");

//execute the SQL query and return records
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
   $message .= 'Whole query: ' . $query;
    die($message);
}

//fetch tha data from the database
while ($row = mysql_fetch_array($result))   
echo "<table width=750 cellspacing=2 cellpadding=2 border=2>
        <tr>
            <td bgcolor=#000000 width=150><font face=tahoma color=white>ID: {$row['Member_ID']}</font></td>". 
            "<td width=150><font face=tahoma>Bank: {$row['Bank']}</td>". 
            "<td width=150><font face=tahoma>Reward 1: {$row['Reward_1']}</td>". 
            "<td width=150><font face=tahoma>Reward 2: {$row['Reward_2']}</td> ". 
            "<td width=150><font face=tahoma>Reward 3: {$row['Reward_3']}</td>
        </tr>
  </table><br></font>";//display the results
// Formulate Update Query
$_POST["submit"];
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$query = sprintf("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'") or die("Could Not Formulate the Query");

while ($row = mysql_fetch_array($result))
{
$bankdb = $row['Bank'];
$reward1db = $row['Reward_1'];
$reward2db = $row['Reward_2'];
$reward3db = $row['Reward_3'];
}
echo $bank;
echo $reward1;
echo $reward2;
echo $reward3;
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$bank = $_POST['bank'];
$reward1 = $_POST['reward1'];
$reward2 = $_POST['reward2'];
$reward3 = $_POST['reward3'];



$query = "UPDATE Points_Rewards Set Bank = ('$bank' + '$bankdb'), Reward_1 =    ('$reward1' + '$reward1'), Reward_2 = ('$reward2' + '$reward2'), Reward_3 = ('$reward3' + '$reward3') WHERE Member_ID = '$memid'";
$result = mysql_query($query) or die(mysql_error());



if(mysql_query($query)){
echo "updated";}
else{
echo "fail";}

//close the connection
mysql_close($dbhandle);
?>

您可以在SQL中的表值上使用运算符-看起来像这样:

$query = "UPDATE Points_Rewards Set Bank = (Bank + '$bankdb'), Reward_1 =    (Reward_1 + '$reward1'), Reward_2 = (Reward_2 + '$reward2'), Reward_3 = (Reward_3 + '$reward3') WHERE Member_ID = '$memid'";

只需使用基本HTML创建一个表单,将从数据库获取的数据存储在PHP变量中,然后使用PHP标记显示该数据,如下所示:

<form action="..." method="post" >
<?php
$memid = mysql_real_escape_string($_POST["Member_ID"]);
$query = sprintf("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'") or die("Could Not Formulate the Query");

while ($row = mysql_fetch_array($result))
{
?>
<input type="text" name="r1" value="<?php echo $row['Reward_1']; ?>" /> ;
<input type="text" name="r2" value="<?php echo $row['Reward_2']; ?>" /> ;
<input type="text" name="r3" value="<?php echo $row['Reward_3']; ?>" /> ;
...    
<?php 
}
?>   

...
</form>

这就是结构

 // if a form is submitted
 if(isset($_POST['submit'])) {
 $memid = $_POST["Member_ID"];

 //SELECT or INSERT or UPDATE your DATABASE. Yes use PDO and prepared statements.
$query = $dbh->prepare("SELECT Member_ID, Bank, Reward_1, Reward_2, Reward_3 FROM Points_Rewards WHERE Member_ID = '$memid'")

//don't forget to bind parameters
$sth->bindParam(':memid', $memid, PDO::PARAM_INT);
$sth->execute(...);

//the loop
while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
echo '';
}

//close the if statement
}

//write the form
<form method="post"/>
<input name="Member_ID" type="text" required/>
<input name="submit" type="submit" value="submit" />
</form>
//如果提交了表单
如果(isset($_POST['submit'])){
$memid=$\u POST[“成员ID”];
//选择、插入或更新数据库。是,请使用PDO和准备好的语句。
$query=$dbh->prepare(“从积分奖励中选择会员ID、银行、奖励1、奖励2、奖励3,其中会员ID='$memid'))
//别忘了绑定参数
$sth->bindParam(':memid',$memid,PDO::PARAM_INT);
$sth->execute(…);
//环路
而($row=$sth->fetch(PDO::fetch_ASSOC)){
回声';
}
//关闭if语句
}
//填写表格

ok。为什么不创建表单呢?欢迎使用StackOverflow!请不要继续使用mysql_*函数。它们不再被维护,并被正式弃用。而是学习准备好的语句,并使用PDO或MySQLi。这篇文章:可以帮助你决定使用哪一个。正如其他人所说,使用mysqli_*或PDO,因为mysqli_*已被弃用。非常感谢这真的很有帮助。你介意接受我的答案吗?:)我很高兴这有帮助。