我在这里使用MySQL数据库和php。
在PHP中,它获取表名称,然后通过表循环。将行拿起,然后将变量发送到函数。我正在使用循环来做到这一点。
问题是我有7个表。如果表2和3包含行,则它可以循环循环2并正确完成所有操作。并且它不给表。表1不存在错误。但是对于表3-7,它给出了所有表。
但是,如果我在表2中删除行,则它可以循环3并正确工作,并且对1和2的错误没有错误。但是对于表4-7,它给出了表不存在ERR。基本上,它仅通过一行循环循环,并为所有以下表提供错误。我不明白是MySQL或其他内容的连接问题。
下面是我的代码的片段:
<?php
$hostname_localhost ="localhost";
$username_localhost ="xxxxxxx";
$password_localhost ="xxxxxxxxx";
$database_xxxxxxxxxx ="xxxxxxxxx";
$database_yyyyyyyyyyy ="yyyyyyyyyy";
$database_zzzzz = "zzzzz";
$localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost)
or
trigger_error(mysql_error(),E_USER_ERROR);
$get_all_tables = mysql_query("SHOW TABLES FROM xxxxxxxxx");
$table_names = array();
while($row = mysql_fetch_array($get_all_tables, MYSQL_NUM)) {
array_push($table_names,$row[0]);
}
mysql_select_db($database_xxxxxxx, $localhost);
for ($i=0; $i<sizeof($table_names); $i++){
$table = trim($table_names[$i]);
$get_tag = mysql_query("SELECT * FROM $table");
if ($get_tag){
while($get_tag_infos = mysql_fetch_array($get_tag)){
$similarity = $get_tag_infos['similarity'];
//........... and many other variables
if ($similarity == 20){
get20(many variables);
}
if ($similarity == 40){
get40(many variables);
}
if ($similarity == 60){
get60(many varibales);
}
if ($similarity == 80){
get80(many variables);
}
if ($similarity == 100){
get100(many variables);
}
}
}
else{
echo '</br> error! </br>'.mysql_error().mysql_errno();
}
}
function get20(many variables){
// performs a insert function to mysql
}
function get40(many variables){
// performs a insert function to mysql
}
function get60(many variables){
// performs a insert function to mysql
}
function get80(many variables){
// performs a insert function to mysql
}
function get100(many variables){
// performs a insert function to mysql
}
?>
问题是与数据库的连接。在第一张表格找到您的连接之后,内在连接已更改。因此,使用不同的变量进行连接。我正在设置一个完美运行的代码。我已经测试了。
<?php
//conection:
$link = mysqli_connect("localhost","root","pass","test") or die("Error " . mysqli_error($link));
//consultation:
$query = "show tables" or die("Error in the consult.." . mysqli_error($link));
//execute the query.
$result = mysqli_query($link, $query);
//display information:
while($row = mysqli_fetch_array($result)) {
echo $row["Tables_in_test"] . "<br>";
$link2 = mysqli_connect("localhost","root","pass","test") or die("Error " . mysqli_error($link));
$query2 = "select * from ".$row['Tables_in_test'] or die("Error in the consult.." . mysqli_error($link2));
$result2 = mysqli_query($link2, $query2);
while($row2 = mysqli_fetch_array($result2)) {
echo "<pre>";
print_r($row2);
echo "</pre>";
}
}
?>