Правильная процедура для mysqlConnect - PullRequest
1 голос
/ 13 февраля 2010

Я новичок в синтаксисе php и ищу советы по созданию наиболее приемлемого или правильного кода. Я сосредотачиваюсь на дизайне внешнего интерфейса, но мне нравится следить за тем, чтобы мой код был корректным. Я нахожусь в программе цифрового мультимедиа, мой инструктор дал нам этот код для подключения к нашим базам данных MYSQL.

<?php
mysql_connect("localhost", "root", "root")or die("Cannot Connect to DB");
mysql_select_db("Example")or die("cannot select the DB Example ");
?>

Однако, когда я смотрю онлайн-сценарии подключения, они устанавливают функцию mysql_connect в качестве переменной, например, $ connect и запускают оператор if заявив; если нет, $ connect выдает ошибку, и то же самое для mysql_select_db . Они также закрывают скрипт с помощью mysql_close ($ connect); как показано ниже

<?php
$connect = mysql_connect("localhost", "root", "root");
if (!$connect)
  {
  die('Could not connect: ' . mysql_error());
  }

$db_selected = mysql_select_db("Example", $connect);

if (!$db_selected)
  {
  die ("Can\'t use test_db : " . mysql_error());
  }

mysql_close($connect);
?> 

Или лучше? Какие проблемы могут возникнуть, если я не закрываю соединение с mysql_close?

Ответы [ 3 ]

1 голос
/ 13 февраля 2010
  1. Что касается использования if вместо or, это не имеет значения. Короткое замыкание or, поэтому, если соединение работает, die(...) не будет выполнено. Использование любого из них является вопросом предпочтения. Если вы хотите использовать версию or, сохраняя результат вызова mysql_connect(), просто присвойте целое выражение переменной:

    $connection = mysql_connect(...) or die('Connection failed.');
    
  2. mysql_close() следует использовать после того, как вы закончите со всеми связями с вашей базой данных.

1 голос
/ 13 февраля 2010

Другие функции mysql_*() будут использовать соединение, созданное последним вызовом mysql_connect() или mysql_pconnect(). Если по какой-либо причине вам требуется более одного соединения, доверять объекту неявного соединения таким образом не удастся. Лучше хранить объект подключения самостоятельно и передавать его туда, где он вам нужен.

0 голосов
/ 15 мая 2014

Кроме того, прежде чем начать работу с базами данных, вы должны знать, что mysql больше не является безопасным и устарел, вы должны использовать mysqli. Вы можете использовать его также как объектно-ориентированный язык. подробнее: http://www.php.net/manual/en/book.mysqli.php пример:

<?php
$con = mysqli_connect("localhost","my_user","my_password","my_db");

// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...