Hi,
Line 70 is:
[code]
if(mysqli_stmt_execute($stmt) === FALSE)
Context:
[code]
if(mysqli_stmt_prepare($stmt,$query))
{
mysqli_stmt_bind_param($stmt,’s’,$_SESSION[‘search_column’]);
if(mysqli_stmt_execute($stmt) === FALSE)
{
printf(“Error: %s.n”, mysqli_stmt_error($stmt));
printf(“Error: %d.n”, mysqli_stmt_errno($stmt));
}
I am getting this error:
Fatal error: Uncaught mysqli_sql_exception: No index used in query/prepared statement (null) in C:xampphtdocstestselect_adv.php:70 Stack trace: #0 C:xampphtdocstestselect_adv.php(70): mysqli_stmt_execute(Object(mysqli_stmt)) #1 {main} thrown in C:xampphtdocstestselect_adv.php on line 70
This removes the error:
[code]
if($stmt) === FALSE)
{
printf(“Error: %s.n”, mysqli_stmt_error($stmt));
printf(“Error: %d.n”, mysqli_stmt_errno($stmt));
}
I still want to know why this works:
[code]
if($stmt) === FALSE)
{
but this doesn’t work:
[code]
if(mysqli_stmt_execute($stmt) === FALSE)
{
Let me know.
Full Code in case you’re wondering just what on earth is going on ….
[code]
<?php
//include(‘error_reporting.php’);
error_reporting(E_ALL);
ini_set(‘error_reporting’,E_ALL);//Same as: error_reporting(E_ALL);
ini_set(‘display_errors’,’1′);
ini_set(‘display_startup_errors’,’1′);
require(‘conn.php’);
echo __LINE__;
?>
<form name = “search” method = “POST” action=””>
<label for=”keywords”>Keywords:*</label>
<input type=”text” name=”keywords” id=”keywords” placeholder=”Input Keywords” required>
<br>
<label for=”search_column”>Search in … ?</label>
<select name=”search_column” id=”search_column”>
<option value=”page_url”>Page Url</option>
<option value=”link_anchor_text”>Link Anchor Text</option>
<option value=”page_description”>Page Description</option>
<option value=”keyphrases”>Keyphrase</option>
<option value=”keywords”>Keywords</option>
</select>
<br>
<label for=”tos_agreement”>Agree to TOS or not ? *</label>
<select name=”tos_agreement” id=”tos_agreement” required>
<option value=”Yes”>Yes</option>
<option value=”No”>No</option>
</select>
<br>
<button type=”submit”>Submit</button><br>
<button type=”submit” value=”submit”>Submit</button><br>
<input type=”submit” value=”submit”><br>
<button name=submit value=” “>Submit</button><br>
<br>
<input type=”reset”>
<br>
</form>
<?php
session_start();
echo __LINE__;
if($_SERVER[‘REQUEST_METHOD’] === ‘POST’)
{
echo __LINE__;
if(ISSET($_POST[‘submit’]))
{
echo __LINE__;
if(ISSET($_POST[‘search_column’]))
{
$_SESSION[‘search_column’] = $_POST[‘search_column’];
echo $_SESSION[‘search_column’];
echo __LINE__;
}
//Re-write the following 4 lines …
mysqli_report(MYSQLI_REPORT_ALL|MYSQLI_REPORT_STRICT);
$conn = mysqli_connect(“localhost”,”root”,””,”test”);
$conn->set_charset(“utf8mb4”);
//$query = “SELECT page_url,link_anchor_text,page_description,keyphrases,keywords FROM links WHERE $_SESSION[‘search_column’] = ?”;
$query = “SELECT page_url,link_anchor_text,page_description,keyphrases,keywords FROM links WHERE {$_SESSION[‘search_column’]} = ?”;
//$query = “SELECT page_url,link_anchor_text,page_description,keyphrases,keywords FROM links WHERE ” . $_SESSION[‘search_column’] . ” = ?”;
$stmt = mysqli_stmt_init($conn);
if(mysqli_stmt_prepare($stmt,$query))
{
mysqli_stmt_bind_param($stmt,’s’,$_SESSION[‘search_column’]);
if(mysqli_stmt_execute($stmt) === FALSE)
{
printf(“Error: %s.n”, mysqli_stmt_error($stmt));
printf(“Error: %d.n”, mysqli_stmt_errno($stmt));
}
$result = mysqli_stmt_bind_result($stmt,$page_url,$link_anchor_text,$page_description,$keyphrase,$keywords);
mysqli_stmt_fetch($stmt);
while(mysqli_stmt_fetch($stmt))
{
echo “url”; echo “<br>”;
echo “anchor_text”; echo “<br>”;
echo “description”; echo “<br>”;
echo “keyphrases”; echo “<br>”;
echo “keywords”; echo “<br>”;
echo “|”;
echo “<br>”;
}
mysqli_stmt_close($stmt);
mysqli_close($conn);
}
else
{
echo “1. QUERY failed!”;
}
if(mysqli_stmt_prepare($stmt,$query))
{
mysqli_stmt_bind_param($stmt,’sssss’,$_POST[‘page_url’],$_POST[‘link_anchor_text’],$_POST[‘page_description’],$_POST[‘keyphrases’],$_POST[‘keywords’]);
if(mysqli_stmt_execute($stmt) === FALSE)
{
printf(“Error: %s.n”, mysqli_stmt_error($stmt));
printf(“Error: %d.n”, mysqli_stmt_errno($stmt));
}
$result = mysqli_stmt_get_result($stmt);
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC))
{
$page_url = $row[‘page_url’]; echo $page_url; echo “<br>”;
$link_anchor_text = $row[‘link_anchor_text’]; echo $link_anchor_text; echo “<br>”;
$page_description = $row[‘page_description’]; echo $page_description; echo “<br>”;
$keyphrases = $row[‘keyphrases’]; echo $keyphrases; echo “<br>”;
$keywords = $row[‘keywords’]; echo $keywords; echo “<br>”;
echo “|”;
echo “<br>”;
}
mysqli_stmt_close($stmt);
mysqli_close($conn);
}
else
{
die(“2. QUERY failed!”);
}
echo ‘<pre>’ . print_r($_POST, 1) . ‘</pre>’;
echo $_SESSION[‘search_column’];
}
}
echo __LINE__;
?>