MySQL vs MySQLi in PHP [duplicate]

2019-02-17 19:05发布

问题:

This question already has an answer here:

  • Advantages Of MySQLi over MySQL [closed] 2 answers

What are the differences/advantages of each? Disadvantages?

I'm not looking for coding preferences or subjective answers.

What are practical diferences? (Storage, implementation, how the code looks, environment requirements...)

回答1:

You can use prepared statements with mysqli.
And there's also a function to store large (blob) data that the "old" mysql extension has not.

// php-mysql: no oo-interface
$mysqli = new mysqli('localhost', 'localonly', 'localonly');
if ($mysqli->connect_error) {
  die($mysqli->connect_error);
}

// php-mysql: no prepared statements
$stmt = $mysqli->prepare("INSERT INTO foo (mydata) VALUES (?)");
$stmt->bind_param("b", $null);

// php-mysql: no function to send data in chunks
$fp = fopen("php://input", "r");
while (!feof($fp)) {
  $chunk = fread($fp, 4096);
  $stmt->send_long_data(0, $chunk);
}
$stmt->execute();


回答2:

Read the overview on the PHP manual, it answers most questions and has a comparison chart.



回答3:

Prepared statements are available in mysqli, for one. You can also use the OO interface so instead of mysql_foo_bar() you have $con->foo_bar().



标签: php mysql mysqli