我有这段代码要插入到表格中。我对 INSERT INTO 类别的问题是它从不将数据插入表中并且没有错误。我在不同表的代码中使用几乎相同的查询,并且它正在工作。有什么线索吗?
<?php
$action = $_GET['action'] ;
if ($action=='question')
question();
elseif ($action=='categories')
categories();
function question() {
if ((isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true))
{
$include("db.php");
$category = $_POST['category'] ;
$subcategory = $_POST['subCategory'] ;
$question = $_POST['question'] ;
$answer = $_POST['answer'] ;
$query = "INSERT INTO faq (category,subcategory,question,answer)
VALUES('.$category.','.$subcategory.','.$question.','.$answer')";
$success = mysql_query($query);
if ($success)
{
echo '<a href="admin.php" >done >';
}
else
{
echo mysql_error();
}
}
}
function categories(){
if ( ! (isset($_SESSION['loggedin']) && ! $_SESSION['loggedin'] == true))
{
include("db.php");
$category = $_POST['category'] ;
$subcategory = $_POST['subCategory'] ;
$query = "INSERT INTO categories (category,subcategory)
VALUES( '$category' , '$subcategory')";
$success = mysql_query($query);
if ($success)
{
echo '<a href="admin.php" >done>';
}
else
{
echo mysql_error();
}
}
}
?>
最佳答案
几个问题:
- 如果您要将变量组合成一个字符串,您可以使用“.”字符连接它们,或者您可以在字符串中包含变量,只要字符串用双引号括起来即可。在您的代码中,您同时执行了这两项操作。
- 您没有对您的数据库输入进行清理。
- 您对“类别”功能的逻辑检查不正确。
- 您的超链接标签缺少结束标签。
请参阅下面的修改后的代码。
<?php
$action = $_GET['action'];
if( $action=='question' )
question();
elseif( $action=='categories' )
categories();
function question(){
if( isset( $_SESSION['loggedin'] ) && $_SESSION['loggedin'] == true ){
include( 'db.php' );
$category = mysql_real_escape_string( $_POST['category'] );
$subcategory = mysql_real_escape_string( $_POST['subCategory'] );
$question = mysql_real_escape_string( $_POST['question'] );
$answer = mysql_real_escape_string( $_POST['answer'] );
$query = "INSERT INTO faq ( category , subcategory , question , answer ) VALUES( '{$category}' , '{$subcategory}' , '{$question}' , '{$answer}' )";
echo "SQL Query to execute: $query"; # Debug Message
$success = mysql_query( $query );
if ( $success ){
echo '<a href="admin.php">done</a>';
}else{
echo mysql_error();
}
}
}
function categories(){
if( !( isset( $_SESSION['loggedin'] ) || $_SESSION['loggedin']==true ) ){
include( 'db.php' );
$category = mysql_real_escape_string( $_POST['category'] );
$subcategory = mysql_real_escape_string( $_POST['subCategory'] );
$query = "INSERT INTO categories ( category , subcategory ) VALUES ( '{$category}' , '{$subcategory}' )";
echo "SQL Query to execute: $query"; # Debug Message
$success = mysql_query( $query );
if( $success ){
echo '<a href="admin.php">done</a>';
}else{
echo mysql_error();
}
}
}
关于php - 通过 php 页面插入表不工作并且没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7137631/