列の1つがキーワードと一致する場合、各行のデータベース内のすべての列を返すスクリプトを作成しようとしています。たとえば、以下の例では、単語 tap に一致するすべての行が返されます。次に、結果を xml としてレンダリングします。以下のコードは機能しているようで、totalResults は見つかった一致の数を示しています。各結果をループして、一致したすべてのデータを SQL クエリでレンダリングするにはどうすればよいですか?
$query = 'tap';
//connect to the database
$db = new mysqli('localhost', $username, $password, $database );
if($db->connect_errno > 0){
die('Unable to connect to database [' . $db->connect_error . ']');
}
//query the database
$sqlQuery = "select * from skus
where
`id` like '%$query%' OR
`name` like '%$query%' OR
`description` like '%$query%' OR
`ean` like '%$query%' OR
`price` like '%$query%' OR
`wasPrice` like '%$query%' OR
`deliveryCost` like '%$query%' OR
`deliveryTime` like '%$query%' OR
`stockAvailability` like '%$query%' OR
`skuAvailableInStore` like '%$query%' OR
`skuAvailableOnline` like '%$query%' OR
`channel` like '%$query%' OR
`manufacturersPartNumber` like '%$query%' OR
`specificationsModelNumber` like '%$query%' OR
`featuresBrand` like '%$query%' OR
`imageUrl` like '%$query%' OR
`thumbnailUrl` like '%$query%' OR
`features` like '%$query%' OR
`url` like '%$query%' OR
`productHierarchy` like '%$query%'";
if(!$result = $db->query($sqlQuery)){
die('There was an error running the query [' . $db->error . ']');
}
Header('Content-type: text/xml');
echo '<?xml version="1.0" encoding="utf-8"?>';
echo '<totalResults>Total results: ' . $result->num_rows . '</totalResults>';
//close the database connection
$db->close();