在php中单击按钮时将数据插入MySQL
我想在用户单击表中的按钮时向数据库添加数据 我正在Wordpress中为股票创建一个投资组合,用户应该能够将股票添加到他们的投资组合中 这是我的insert_to_db.php文件,查询就在这里。 get_current_user_id()获取用于标识用户的用户id在php中单击按钮时将数据插入MySQL,php,html,mysql,Php,Html,Mysql,我想在用户单击表中的按钮时向数据库添加数据 我正在Wordpress中为股票创建一个投资组合,用户应该能够将股票添加到他们的投资组合中 这是我的insert_to_db.php文件,查询就在这里。 get_current_user_id()获取用于标识用户的用户id global $wpdb; <?php if(isset($_POST['id'])){ echo "You clicked button one!" ; $sql
global $wpdb;
<?php
if(isset($_POST['id'])){
echo "You clicked button one!" ;
$sql = $wpdb->prepare("INSERT INTO user_portfolio (Name, Price, Date, User_ID)
VALUES ('$name','$price','$date',get_current_user_id())");
$results = $wpdb->get_results( $sql );
$results -> execute();
}
else {
echo" dhur";
}
?>
Html:
名称
今日价格
加入投资组合
现在,当点击按钮时,我被重定向到首页,数据没有添加到MySQL数据库。什么是
$con
?什么是获取当前用户id()
?如果它不是数据库的用户定义函数,那么您就犯了很大的错误。您需要使用占位符正确地准备语句,以避免严重的安全风险,并可能修复您遇到的问题。您也没有检查任何错误,甚至没有检查数据库操作是否成功。如果你不看,你怎么知道出了什么问题呢?添加了$con和get_current_user_id(),对此很抱歉。抛开Wordpress具有数据库访问功能这一事实,你不能仅仅将PHP函数放入字符串中,然后期望它工作。更重要的是,您不能将任何PHP代码放入查询并期望它是安全的。您的SQL应该类似于将三个值绑定到语句中,并插入到用户组合(名称、价格、用户ID)值(?、、?)
。链接的副本包含了很多这样做的例子。谢谢你的建议。
function trendy2($Name, $Price, $user_id){
$link = "https://signal-invest.com/tick/?ticker=";
echo "<tr>
<td>$Name</td>
<td>$Price</td>
<td><form method='POST' action='insert_to_db.php'>
<input type='submit' name='id' value='$user_id'/>$user_id
</form>
</td></tr>";}
<table >
<tr>
<th>NAME</th>
<th>PRICE TODAY</th>
<th>ADD TO PORTFOLIO</th>
</tr>
<?php
foreach ($results_query_uptrend as $r){
$name = $r["Name"];
$price = $r['Price'];
echo trendy2($name, $price, $user_id);
}
?>
</table>