PHP INSERT INTO MySQL无法正常工作,没有给出错误
I am currently trying to execute an INSERT INTO when a search button is clicked. Eventually I'd like to submit the search term into the database, however I'm currently just trying to submit a simple string to ensure the initial INSERT INTO works correctly, which it currently doesn't.
I have the following:
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="search" name="search" id="results" placeholder="Enter search">
<input type="submit" name="submit" class="frstBtn" value="searchterm"><br>
</form>
<?php
$searchterm = "";
?>
<?php
if(isset($_POST['submit']))
{
$sql = "INSERT INTO tableName (variableName) VALUES ('test')";
$results = mysqli_query($conn,$sql) or die(mysqli_error());
}
?>
The latter php function, search, works perfectly fine, but the former function including the INSERT INTO does not.
Here is the table itself in phpmyadmin.
I have successfully manually copied and pasted the actual INSERT INTO statement into the actual database and it has worked fine, so I know the issue isn't with the statement. Any help is much appreciated. Thanks.
Since the searchTerm
column is defined as PRIMARY
, I’m ready to bet that you are trying to insert the same value twice and you don't have enabled the error_reporting
. To find out exactly what the problem is, first of all enable all errors by adding the following at the beginning of your script:
ini_set('error_reporting', -1);
ini_set('display_errors', 1);
Also, note that you must use mysqli_error($conn)
instead of mysqli_error()
.
By the way, to ignore errors when inserting unique values, use:
INSERT IGNORE INTO searchHistory(searchTerm) VALUES ('test')