好的,我在更新表时遇到了一些问题;我没有错误,它提醒我更新成功,但我的表没有变化。 这是我在表中获取和输出数据的代码:
session_start();
require_once ('dbconnect.php');
$query = mysql_query("SELECT p_id, p_name, p_authors, p_corresponding, p_email, p_cauthor, p_abstract, p_keywords, p_jname, p_date FROM papers INNER JOIN users ON papers.user_id = users.user_id WHERE p_url = '$val' AND username='{$_SESSION['user']}'");
$last = mysql_num_rows($query);
$output1 = "";
$outarray1 = array();
if ($last > 0) {
while ($output1 = mysql_fetch_array($query)) {
$outarray1[] = $output1;
if(is_array($outarray1)){
foreach($outarray1 as $values){
$id = $values['p_id'];
$paper = $values['p_name'];
$author = $values['p_authors'];
$corresponding = $values['p_corresponding'];
$mail = $values['p_email'];
$coauthors = $values['p_cauthor'];
$abstract = $values['p_abstract'];
$keywords = $values['p_keywords'];
$journal = $values['p_jname'];
$date = $values['p_date'];
}
}
}
}
echo <<<HERE
<div id="collapse{$counter}" style="display:none">
<table class="responstable">
<tr>
<th>ID</th>
<th>Paper</th>
<th>Author</th>
<th>Corresponding author</th>
<th>Email</th>
<th>Coauthors</th>
<th>Abstract</th>
<th>Keywords</th>
<th>Journal</th>
<th>Date</th>
</tr>
<tr>
<td>{$id}</td>
<td>{$paper}</td>
<td>{$author}</td>
<td>{$corresponding}/td>
<td>{$mail}</td>
<td>{$coauthors}</td>
<td>{$abstract}</td>
<td>{$keywords}</td>
<td>{$journal}</td>
<td>{$date}</td>
<td><a href="editdata.php?id={$id}">Update</a></td>
</tr>
</table>
</div>
HERE;
这是我更新记录的脚本:
session_start();
require_once ('dbconnect.php');
<form method="post" action="" role="form">
<div>ID<input type="text" name="id" value="<?php echo $_GET['id'];?>"/</div>
<div>Paper<input type="text" name="paper" /></div>
<div>Author<input type="text" name="author" /></div>
<div>Corresponding author<input type="text" name="corr" /></div>
<div>Email<input type="text" name="mail" /></div>
<div>Co-authors<input type="text" name="cauthors" /></div>
<div>Abstract<input type="text" name="abstract"/></div>
<div>Keywords<input type="text" name="keywords" /></div>
<div>Journal<input type="text" name="journal" /></div>
<div>Date<input type="text" name="date" /></div>
<div class="sub">
<input type="submit" class="btn btn-primary" name="submit" value="Update" />
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</form>
<?php
if (isset($_POST['submit'])) {
$paper = $_POST['paper'];
$author = $_POST['author'];
$corresponding = $_POST['corr'];
$mail = $_POST['mail'];
$coauthors = $_POST['cauthors'];
$abstract = $_POST['abstract'];
$keywords = $_POST['keywords'];
$journal = $_POST['journal'];
$date = $_POST['date'];
$qry = "UPDATE papers INNER JOIN users ON papers.user_id = users.user_id SET p_name = '$paper', p_authors = '$author', p_corresponding = '$corresponding', p_email = '$mail', p_cauthor = '$coauthors', p_abstract = '$abstract', p_keywords = '$keywords', p_jname = '$journal', p_date = '$date' WHERE p_id = '{$_GET['id']}' AND username = '{$_SESSION['user']}'";
if($qry){
?>
<script>alert('Paper details uploaded to database !');
window.location.href = "home.php";
</script>
<?php
}
else {
?>
<script>alert('Data error !<?php die(mysql_error()); ?>');</script>
<?php
}
}
}
?>
因此,它为我提供了成功更新的警报,但表中的记录保持不变。有什么建议 ? THX
答案 0 :(得分:2)
执行查询。在您的代码中$qry
未执行
$db_connection = mysqli_connect("localhost", "username", "password", "database");
$qry = "UPDATE papers INNER JOIN users ON papers.user_id = users.user_id SET p_name = '$paper', p_authors = '$author', p_corresponding = '$corresponding', p_email = '$mail', p_cauthor = '$coauthors', p_abstract = '$abstract', p_keywords = '$keywords', p_jname = '$journal', p_date = '$date' WHERE p_id = '{$_GET['id']}' AND username = '{$_SESSION['user']}'";
mysqli_query($db_connection, $qry);