두 개의 열이있는 데이터베이스에서 사용자 제출을 가져 오려고합니다. 하나는 아티스트 용이고 다른 하나는 제목 용입니다. 나는 단순한 폼에서 그들의 입력을 받아서 비슷한 결과를 다음 페이지의 테이블로 출력하고 싶다. 지금까지 작성한 전체 스크립트를 포함했습니다. 페이지에 오류가 발생하지는 않지만 결과가 없습니다. 나는 이것을 수시로 지울 수 있는지 지켜보기 위해 온라인으로 며칠을 보냈지만 그런 행운은 없었습니다. 죄송합니다 매우 어리지만, 나는이 사이트에 새로운 사람이고 가능한 한 많은 세부 사항을 제공하기를 원했습니다.오류가 발생하지 않지만 결과가 없습니다. - mysql php db
<?php
include("db_connect.php");
// - get form data from "searchform.php"
$song_query = $_GET['song_query'];
// - column 1 and column 2 are all we're looking for in the db
// - title and artist are currently the two cols. Table is named
"song_list"
$col1 = "title";
$col2 = "artist";
$tablename = "song_list";
echo "<H1>Search results</H1>";
if ($song_query == "") {
echo "What are you going to sing? You didn't enter a search term! Please
try again.";
exit;
}
// - pick the db connection out of the included file and give error if
failed.
mysqli_select_db($conn, $db_name) or die(mysqli_error());
// - cleans up string inputted by user to avoid harmful code insertion
into form
$song_query = strtoupper($song_query);
$song_query = strip_tags($song_query);
$song_query = trim($song_query);
// - set up parameters for accessing the query of the db
$sql = "SELECT $col1, $col2 FROM $tablename WHERE $col1, $col2 LIKE
'%$song_query%'";
$result = mysqli_query($conn, $sql);
if (isset($_GET['$result'])){
if (mysqli_num_rows($result) > 0){
echo "<table><tr>";
echo "<th>Artist</th>";
echo "</tr>";
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['$result'] . "</td>";
echo "</tr>";
echo "</table>";
}
}
}
?>
'$ _GET [ '$ result']'이 (가) 수행해야 할 작업은 무엇입니까? –
''$ col1, $ col2 LIKE '% $ song_query %' ";'무엇을 기대합니까? –
MySQLi 자동으로 실패하는 경향이 있습니다. [mysqli errors] (http://php.net/manual/en/mysqli.error.php)에서 데이터베이스 호출이 올바르게 작동하는지 항상 확인하십시오. – aynber