Вставить константу PHP в строку

У меня есть этот файл с именем db.php, который устанавливает соединение с базой данных.

<?php
    define("DB_HOST", "localhost");
    define("DB_NAME", "login");
    define("DB_USER", "admin");
    define("DB_PASS", "123");
    mysql_connect(DB_HOST, DB_USER, DB_PASS) OR die("Falha na ligação.");
?>

Что я хотел сделать, так это использовать это определение DB_NAME в другом файле, поэтому мне просто нужно изменить его в db.php на случай, если мне придется изменить имя базы данных.

Вот пример того, где я хочу, чтобы это было применено.

$qp = "UPDATE login.users SET palpiteatual = '".$_POST['atextfield']."' WHERE user_name = '".$_SESSION['user_name']."'";

Вместо того, чтобы иметь login.users, я пробовал следующие способы, но безуспешно.

$qp = "UPDATE '"DB_NAME"'.users SET palpiteatual = '".$_POST['atextfield']."' WHERE user_name = '".$_SESSION['user_name']."'";
$qp = "UPDATE "+DB_NAME+".users SET palpiteatual = '".$_POST['atextfield']."' WHERE user_name = '".$_SESSION['user_name']."'";

Не уверен, как точный синтаксис использовать его таким образом. заранее спасибо


person FábioMartinho    schedule 28.03.2013    source источник
comment
какую синтаксическую ошибку вы получаете?   -  person Prateek Shukla    schedule 28.03.2013
comment
Когда вы подключились к базе данных «логин», почему вам все еще нужно указывать имя базы данных?   -  person    schedule 28.03.2013
comment
Поскольку вы все еще используете устарело mysql_, используйте хотя бы mysql_real_escape_string чтобы избежать SQL-инъекций через ввод формы. Или, что еще лучше, обновите до PDO и подготовьте и выполните свой заявления.   -  person Oldskool    schedule 28.03.2013


Ответы (2)


$qp = "UPDATE ".DB_NAME.".users SET palpiteatual...";

Обратите внимание, что если у вас нет нескольких подключений и нескольких баз данных, нет необходимости использовать DB_NAME.

person Community    schedule 28.03.2013

Конкатенация строк в PHP выполняется с помощью оператора конкатенации .

$qp = "UPDATE ".DB_NAME.".users
person dtech    schedule 28.03.2013