проблема связывания php PDO - PullRequest
0 голосов
/ 27 января 2011

Я использую php PDO в качестве разъема дБ.У меня проблемы с привязкой адреса электронной почты, скажем, у меня есть sql

$sql = UPDATE user set email = :email where uid = 10

$smt = $dbh->prepare($sql);

$smt->bindParam(':email', 'xyz@gmail.com');

PDO оставляет все после @.

Thanx

Ответы [ 2 ]

5 голосов
/ 27 января 2011

bindParam используется для привязки переменной, а не значения. Я думаю, что вы хотите сделать, это использовать bindValue вместо.

0 голосов
/ 15 октября 2016
define("SQLHOST", "127.0.0.1");
define("SQLUSER", "user");
define("SQLPASS", "password");
define("SQLSGBD", "database");

try {
    $dbh = new PDO('mysql:host=' . SQLHOST . ';dbname=' . SQLSGBD . ';charset=UTF8', SQLUSER, SQLPASS);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    var_dump('Connection failed: ' . $e->getMessage());
}

$emailList = ['xyz@gmail.com', 'abc@gmail.com'];
$stmt = $dbh->prepare("UPDATE user set email = ? where uid = 10");
foreach ($emailList as $key => $email) {
    $stmt->bindParam(1, $email, PDO::PARAM_STR);
    $stmt->execute();
    $obj = $stmt->fetchall(PDO::FETCH_ASSOC);
    if (count($obj) !== 0) {
        /* whatever */
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...