2013-12-18 3 views
0

Я пытаюсь запустить инструкцию SELECT в этой базе данных SQL Server (и хранить строки как переменные в ассоциативном массиве, чтобы я мог вставлять в базу данных mysql) и получить несколько ошибок Я не понимаю.Хранение массива SQL Server в PHP

Прежде всего

Неправильный синтаксис около ключевого слова 'SELECT'.

Запрос:

SELECT 
    id, accountType, displayName, uid, parentOrg 
FROM 
    censored.datatable 

Я только имел опыт работы с MySQL, так что я не понимаю, что случилось с выше выбора.

Вторая проблема (ы) ... Вышеуказанный оператор select передается этой функции ниже в виде $ query.

function query($query){ 
    $data = mssql_init($query, $this->getCon()); 
    $var = array('id','accountType','displayName','uid','parentOrganization_id'); 
    $row = array(); 
    do { 
     mssql_execute($data); 
     //$data->mssql_bind($row['id'], $row['accountType'], $row['displayName'], $row['uid'], 
     // $row['parentOrganization_id']); 
     mssql_bind($data ,'@id', $var['id'], SQLFLT8, false, 10); 
     mssql_bind($data ,'@accountType', $var['accountType'], SQLVARCHAR, false, 10); 
     mssql_bind($data ,'@displayName', $var['displayName'], SQLVARCHAR, false, 10); 
     mssql_bind($data ,'@uid', $var['uid'], SQLFLT8, false, 10); 
     mssql_bind($data ,'@parentOrganization_id', $var['parentOrganization_id'], SQLFLT8, false, 10); 
     while ($row = mssql_fetch_object($data)){ 
      array_push($row, [$row['id'], $row['accountType'], $row['displayName'], $row['uid'], 
       $row['parentOrganization_id']]); 
     } 
    }while (mssql_next_result($data)); 
    return $row; 
} 

Предполагается, что каждая строка набора результатов хранится в ассоциативном массиве. вот все ошибки этой функция запроса возвращается с

Предупреждения: mssql_execute(): хранимая процедура не удались в C: \ Users \ jmurdock \ Report \ HQDevBox.php на линию 51 [mssql_execute()]
Предупреждения : mssql_bind(): Невозможно установить параметр в C: \ Users \ jmurdock \ Report \ HQDevBox.php в строке 58 [mssql_bind, появляется ошибка для всех строк mssql_binds ... 54-58]
Предупреждение: mssql_fetch_object(): поставляется ресурс не является допустимым ресурсом результата MS SQL в C: \ Users \ jmurdock \ Report \ HQDevBox.php в строке 59
Предупреждение: mssql_next_result(): предоставленный ресурс не является допустимым ресурсом результата SQL SQL в C: \ Users \ jmurdock \ Report \ HQDevBox.php в строке 63 [mssql_next_re sult]

У меня есть чувство, что цикл будет лучше .. Любая помощь будет оценена. Соединение действительно, я на 95% уверен.

ответ

2
  1. Довольно, что вы должны сделать ваши mssql_bind() звонки перед темmssql_execute().
  2. 6-й параметр, равный mssql_bind(), является булевым, 7-е является целым числом. Ref
  3. $var не является ассоциативным массивом, но вы имеете в виду его как один.
Смежные вопросы