[英]SELECT in Php with PDO (dblib) to SQL view
我正在嘗試執行一個SQL查詢,它不起作用。
$sql = "SELECT top 5 AccountDocument from web.Preoffers_new where AccountDocument = 'xxxxxxxx'";
$stmt = $db->prepare($sql);
$stmt->execute();
if ($data = $stmt->fetch()) {
do {
echo $data['AccountDocument'] . '<br>';
} while ($data = $stmt->fetch());
} else {
echo 'Empty Query';
}
這完美地工作,並向我展示了結果。
但是這個:
$sql = "SELECT top 5 Document from Companies where Document = 'xxxxxxxx'";
$stmt = $db->prepare($sql);
$stmt->execute();
if ($data = $stmt->fetch()) {
do {
echo $data['Document'] . '<br>';
} while ($data = $stmt->fetch());
} else {
echo 'Empty Query';
}
直接轉到“空查詢”。 但事實並非如此,因為如果我在SQL中執行該查詢,它將運行完美。
我看到的唯一不同是第一個查詢轉到數據庫中的表,第二個查詢轉到一個視圖...
這可能是一些線索嗎?
SET
ANSI_NULLS,
QUOTED_IDENTIFIER,
CONCAT_NULL_YIELDS_NULL,
ANSI_WARNINGS,
ANSI_PADDING
ON;
更新---->
我設置屬性PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION以查看服務器是否向我顯示了一些內容,並且我收到了以下內容:
錯誤的基本連接信息:SQLSTATE [HY000]:常規錯誤:1934常規SQL Server錯誤:檢查來自SQL Server的消息[1934](嚴重性16)[從文檔='xxxxxxxx'的公司中選擇前5個文檔]
我檢查了SQL中的錯誤,我得到了:
%ls失敗,因為以下SET選項設置不正確:'%。* ls'。 驗證SET選項正確用於%S_MSG。
有人知道為什么我不能在視圖中查詢嗎?
謝謝你讀我:)
正如我在代碼中看到的那樣,您使用“文檔”而不是“ AccountDocument”,因此將AccountDocument替換為Document。
$sql = "SELECT top 5 Document from Companies where Document = 'xxxxxxxx'";
$stmt = $db->prepare($sql);
$stmt->execute();
if ($data = $stmt->fetch()) {
do {
echo $data['Document'] . '<br>';
} while ($data = $stmt->fetch());
} else {
echo 'Empty Query';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.