将客户端dbchk.php mysql更新为mysqli

时间:2016-05-17 20:03:20

标签: php mysqli

//Update for previous request for help.
//This is the original dbck.php mysql code.

<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = 'mypasswd';
$database = 'clients';
$table = 'client';
if (!mysql_connect($db_host, $db_user, $db_pwd))
die("Can't connect to database");
if (!mysql_select_db($database)) 
die("Can't select database");// sending query
$result = mysql_query("SELECT * FROM client");
if (!$result) {
die("Query to show fields from table failed");
}$fields_num = mysql_num_fields($result);
echo "<h2>records</h2>";
echo "<table border='1' cellpadding='3'><tr>";// printing table headers
for($i=0; $i<$fields_num; $i++)
{$field = mysql_fetch_field($result);
echo "<td>{$field->name}</td>";
}echo "</tr>\n";// printing table rows
while($row = mysql_fetch_row($result))
{echo "<tr>";    // $row is array...//foreach( .. ) //puts every element 
// of $row to $cell variable
foreach($row as $cell)
echo "<td>$cell</td>";
echo "</tr>\n";}
echo "</table>\n";
mysql_free_result($result);
?>
//After doing more research.

//我编辑了这段代码,它渲染没有错误但不打印     //到数据库     

$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
$result = mysqli_query($conn,"SELECT * FROM client") or die(mysqli_error); 

$fields_num = mysqli_num_fields($result);

echo "<h2>Records</h2>";

echo "<table border='1' cellpadding='3'><tr>";// printing table headers

for($i=0; $i<$fields_num; $i++)

{$field = mysqli_fetch_field($result);

echo "<td>{$field->name}</td>";}

echo "</tr>\n";// printing table rows

while($row = mysqli_fetch_array($result))       
 {
echo "<tr>";    // $row is array...//foreach( .. ) //puts every element 
// of $row to $cell variable
if ($result->num_rows > 11) {

echo "<td>$cell</td>";

echo "</tr>\n";
}
echo "</table>\n";
}
mysqli_close($conn);
?>
//Client dump:
//CREATE TABLE client (
//id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
//Client varchar(40) NOT NULL,

//详细信息varchar(75)NOT NULL,     // Invoice varchar(10)NOT NULL,     // Signer varchar(20)NOT NULL,     // Billing_Total varchar(20)NOT NULL,     // Month_To_Date varchar(20)NOT NULL,     // Year_To_Date varchar(20)NOT NULL,     //部件varchar(20)NOT NULL,     // Parts_Year_To_Date varchar(20)NOT NULL     // TS timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE // CURRENT_TIMESTAMP,    //)ENGINE = MyISAM DEFAULT CHARSET = latin1;

1 个答案:

答案 0 :(得分:1)

首先,直接来自PHP.net

  

根据PHP的版本,有两个或三个PHP API用于访问MySQL数据库。 PHP 5用户可以在不推荐使用的mysql扩展,mysqli或PDO_MySQL之间进行选择。 PHP 7删除了mysql扩展,只留下后两个选项。

如果您尚未检查要删除或弃用的内容,请不要只升级到下一个版本(无论是PHP还是其他语言)。

再次来自PHP.net:

  

mysqli_query(mysqli $ link,string $ query [,int $ resultmode = MYSQLI_STORE_RESULT])

在你的代码中,你用一个缺少参数的程序方式调用mysqli_query(CONNECTION LINK):

mysqli_query("INSERT INTO client VALUES('$id','$client','$ts','$details', '$invoice', '$signer', '$billing_total',
'$month_to_date', '$year_to_date', '$parts','$parts_year_to_date')");

在每个“mysql”之后添加“i”不会修复你的代码。阅读相关文档是!修复每个基本的东西,就像我指出的那样突出,然后,如果问题仍然存在,请不仅使用您的代码发布问题,而且还会在页面上显示警告/错误。