我一直在互联网上寻找这个问题的答案,已经有3个星期了,却找不到任何可以解决的问题。我有一个数据库表,我需要检查。如果该表中有一个compile()
,我希望我的代码以我的表单Users_ID
标签显示一个update.php
链接,并且该数据库中没有action=""
表格,那么我想有一个Users_ID
页面以一种形式链接,而不是Insertdb.php
页面。这是我所拥有的:
PHP代码:
update.php
我的HTML部分如下所示:
HTML代码:
<?php
session_start();
error_reporting(E_ALL);
include_once("dbconnect.php");
$users_id = $_SESSION['user_id'];
$sql = "SELECT * FROM dbtable WHERE uid=$users_id";
if($results = $con->query($sql)) {
while($display = $results->fetch_array(MYSQLI_ASSOC)) {
$uid = $display['uid'];
if($display['uid']==""){
$pagelink = "insertintodb.php";
}else{
$pagelink = "updatedb.php";
}
}
$results->close();
}
?>
我将如何去做?我当前使用的方法是上面我正在使用的方法,但是当我根据页面查看源检查它时,它仅显示<form action="<?php echo $pagelink; ?>" method="POST">
<input type="text" value="" placeholder="Insert Value" name="something" />
<input type="submit" value="Submit Data" name="submit_data_to_db" />
</form>
。请可以帮我。任何和所有帮助将不胜感激。谢谢
答案 0 :(得分:1)
您通常使用num_rows方法:
<?php
session_start();
error_reporting(E_ALL);
include_once("dbconnect.php");
$users_id = $_SESSION['user_id'];
$sql = "SELECT * FROM dbtable WHERE uid=$users_id";
if($results = $con->query($sql)) {
if($results->num_rows() > 0){
$pagelink = "insertintodb.php";
}else{
$pagelink = "updatedb.php";
}
}
$results->close();
}
?>
答案 1 :(得分:-1)
我看到您使用$con
,但您未在任何地方声明它。
您可以确认实际存在吗?此时,您的脚本可能会停止执行。
我还要在其中实现一些功能:
1.当您使用来自外部资源(例如表单)的变量,甚至使用其他变量时,请始终注意SQL注入;
2.您的if & else
可以简化为if(当您找到ID时)。对于其他所有情况,您希望使用其他默认行为。像这样:
$pageLink = "insertintodb.php";
if (!empty($display['uid'])) {
$pageLink = "updatedb.php"
}