-2

データベースを SQL Server から Mysql に同期したいのですが、次のエラーが発生します。

致命的なエラー: 36 行目の php で変数のみを参照で渡すことができます

これが私のコードです:

// connect to MSSQL
$koneksi=mssql_connect($server,$username,$password);
$sqldb=mssql_select_db($database,$koneksi);

// connect to MySQL
$koneksi2 = mysqli_connect($server2,$username2,$password2,$database2,$port);

// copy data from MSSQL to MySQL
$query2 = mssql_query("Select Jabatan, Nama, NIP from PejabatPenetap",$koneksi);
while($r=mssql_fetch_array($query2)) {
    $jabatan = $r['Jabatan'];
    $nama = $r['Nama'];
    $nip = $r['NIP'];

    $stmt = mysqli_prepare($koneksi2, 'StoredProcedure');
    mysqli_bind_param($stmt, '@jabatan', $jabatan, SQLVARCHAR, false, false, 255); <-- this is line 36
    mysqli_bind_param($stmt, '@nama_input', $nama, SQLVARCHAR, false, false, 100);
    mysqli_bind_param($stmt, '@nip', $nip, SQLVARCHAR, false, false, 25);

    $res = mysqli_stmt_execute($stmt);
}
4

1 に答える 1

2

http://www.php.net/manual/en/mysqli-stmt.bind-param.phpをご覧ください。

ご覧のとおり、この関数は var のみを取り、$typesparam の後にリテラルを取りません。したがってSQLVARCHAR, false, false, 255、同じ値を持つ変数に置き換えるとうまくいくはずです。

于 2013-08-28T03:44:42.780 に答える