我正在尝试使用ODBC和PHP检索out参数的值。我一直在网上搜索,但无济于事。 PDO和mysqli有很多解决方案,我只为odbc找到this。我有点被参数和操作所迷惑。
我可以建立与数据库的连接,但错误总是弹出。我无法弄清楚它们。[Sybase][ODBC Driver] Invalid string or buffer length
有什么建议吗?
$conn=odbc_connect("dsn", " ", " ");
if (!$conn)
{
exit("Connection Failed: " . $conn);
}
$sql=odbc_prepare("CALL ndTblUser (@varUserId,@varUserPwd)");
$stmt=odbc_execute($sql, "SELECT @varUserId as UserId, @varUserPwd as UserPwd");
$rs=odbc_exec($conn,$stmt);
if (!$rs)
{
exit("Error : " . odbc_errormsg());
}
echo "
echo "
Id";echo "
Password";while (odbc_fetch_row($rs))
{
$UserId=odbc_result_all($rs,"UserId");
$UserPwd=odbc_result_all($rs,"UserPwd");
echo "
$UserId";echo "
$UserPwd";}
odbc_close($conn);
?>
最佳答案
现在我只是在猜测,但是如果实际查询中的$UserId和$UserPwd应该是列,请尝试从中删除$号。稍后在代码中,您尝试将其作为不带$号的列名使用,因此我不确定这是否是导致错误的原因。直到$UserId=odbc_result($rs,"UserId");,它们才是PHP变量。