php, mysql подготовил заявления - PullRequest
0 голосов
/ 18 декабря 2010
function addAlbum($album){
        $connection = mysqli_connect(HOST,USER,PASS,DATABASE);
        $stmt = mysqli_prepare($connection,'INSERT INTO `'.TABLE_ALBUMS.'` (albumName) VALUES (":album")');
        mysqli_stmt_bind_param($stmt,':album');
        $result = mysqli_stmt_execute($stmt);

            if($result){
                return true;
            } else {
                return false;
            }

    }

я получаю эту ошибку:

mysqli_stmt_bind_param() [function.mysqli-stmt-bind-param]: Number of elements in type definition string doesn't match number of bind variables

любая помощь будет принята с благодарностью.

1 Ответ

3 голосов
/ 18 декабря 2010

Вы можете смешать как процедурный стиль, так и объектно-ориентированный стиль

Так что, либо используйте полностью в процедурном стиле, либо наоборот

$sql        = 'INSERT INTO '.TABLE_ALBUMS.' (albumName) VALUES (?)';
$connection = mysqli_connect(HOST,USER,PASS,DATABASE); <- procedural style
$stmt       = mysqli_prepare($connection, $sql);       <- procedural style
mysqli_stmt_bind_param($stmt, 's', $album);            <- procedural style
$result     = mysqli_stmt_execute($stmt);              <- procedural style
... 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...