【发布时间】:2018-11-05 15:58:13
【问题描述】:
我在互联网上寻找这个问题的答案已经 3 周了,但找不到任何接近或派上用场的东西。我有一个需要检查的数据库表。如果该表中存在Users_ID,我希望我的代码以action="" 标记的形式显示update.php 链接,并且如果该数据库表中不存在Users_ID,那么我希望要在表单中链接的 Insertdb.php 页面而不是 update.php 页面。这是我所拥有的:
PHP 代码:
<?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();
}
?>
我的 HTML 部分如下所示:
HTML 代码:
<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>
我该怎么做呢?我当前的方法上面发布的是我目前正在使用的方法,但是当我根据页面视图源检查它时它只显示<form action="" method="POST">。无论如何,请帮助我。任何和所有的帮助将不胜感激。谢谢
【问题讨论】:
-
您检查过 REPLACE 语句吗?
-
$_SESSION['user_id'] 来自哪里?如果
$pagelink为空,则意味着您的脚本不会在查询SELECT * FROM dbtable WHERE uid=$users_id中返回结果 -
@LoïcDiBenedetto 我该怎么做?
-
首先添加一些错误检查。将
ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);添加到脚本的顶部。这将强制任何 mysqli_ 错误生成您可以在浏览器上看到的异常以及正常的 PHP 错误。 -
如果没有选择没有记录,
while不会运行。