Я немного изменил ответ PHP Olivier на:
function searchAllDB($search){
global $mysqli;
$out = "";
$total = 0;
$sql = "SHOW TABLES";
$rs = $mysqli->query($sql);
if($rs->num_rows > 0){
while($r = $rs->fetch_array()){
$table = $r[0];
$sql_search = "select * from ".$table." where ";
$sql_search_fields = Array();
$sql2 = "SHOW COLUMNS FROM ".$table;
$rs2 = $mysqli->query($sql2);
if($rs2->num_rows > 0){
while($r2 = $rs2->fetch_array()){
$colum = $r2[0];
$sql_search_fields[] = $colum." like('%".$search."%')";
if(strpos($colum,$search))
{
echo "FIELD NAME: ".$colum."\n";
}
}
$rs2->close();
}
$sql_search .= implode(" OR ", $sql_search_fields);
$rs3 = $mysqli->query($sql_search);
if($rs3 && $rs3->num_rows > 0)
{
$out .= $table.": ".$rs3->num_rows."\n";
if($rs3->num_rows > 0){
$total += $rs3->num_rows;
$out.= print_r($rs3->fetch_all(),1);
$rs3->close();
}
}
}
$out .= "\n\nTotal results:".$total;
$rs->close();
}
return $out;
}
Вы можете использовать JavaScript и XMLHTTPRequest (AJAX) для выполнения POST без использования формы. Проверьте эту ссылку . Однако имейте в виду, что вам потребуется включить JavaScript в вашем браузере.
Использование jQuery.post
$.post(
"http://theurl.com",
{ key1: "value1", key2: "value2" },
function(data) {
alert("Response: " + data);
}
);
Как это сделать без использования cURL с прямым PHP: http://netevil.org/blog/2006/nov/http-post-from-php-without- curl
это можно сделать с помощью CURL или AJAX. Ответ столь же загадочен, как и ответ.
cURL - это вариант, использующий также Ajax, хотя решение внутренних проблем с помощью внешнего интерфейса не так аккуратно.
Очень полезный пост о том, как сделать это без cURL, - это: http: //netevil.org/blog/2006/nov/http-post-from-php-without-curl
Код для этого (непроверенный, не улучшенный, из сообщения в блоге):
function do_post_request($url, $data, $optional_headers = null)
{
$params = array('http' => array(
'method' => 'POST',
'content' => $data
));
if ($optional_headers !== null) {
$params['http']['header'] = $optional_headers;
}
$ctx = stream_context_create($params);
$fp = @fopen($url, 'rb', false, $ctx);
if (!$fp) {
throw new Exception("Problem with $url, $php_errormsg");
}
$response = @stream_get_contents($fp);
if ($response === false) {
throw new Exception("Problem reading data from $url, $php_errormsg");
}
return $response;
}