Это всего лишь указатель, переданный как первый аргумент функции (именно это делает его методом). До тех пор, пока вы не говорите о виртуальных методах и / или виртуальном наследовании, да, вы можете обнаружить, что выполняете метод экземпляра с нулевым экземпляром. Как говорили другие, вы почти наверняка не очень далеко продвинетесь с этим исполнением до возникновения проблем, но надежная кодировка должна, вероятно, проверять эту ситуацию с помощью assert. По крайней мере, это имеет смысл, если вы подозреваете, что это может произойти по какой-то причине, но нужно точно определить, в каком стеке класса / вызова он встречается.
Вы не можете передать более одного оператора в sqlsrv_query () . В вашем случае у вас есть два варианта:
Комплексная инструкция:
<?php
...
$sql = "
INSERT INTO TABLE (column) VALUES (?);
INSERT INTO TABLE_NEW(column, column, column) Values (?, 'INSERT', 'WEBSERVER')
";
$params = array(
Вы не можете передать более одного оператора в sqlsrv_query () . В вашем случае у вас есть два варианта:
- Создать один сложный оператор T-SQL. В этом случае количество заполнителей должно соответствовать количеству передаваемых параметров.
- Выполнять каждую инструкцию отдельно
Комплексная инструкция:
[110] Примечания:
Драйвер PHP для SQL Server поддерживает несколько наборов результатов. Если вы используете один сложный оператор и один или несколько из ваших операторов являются SELECT
, вам нужно вызвать sqlsrv_next_result () , чтобы сделать следующий результат активным (первый результат активен по умолчанию).POST["addSomething"],
Вы не можете передать более одного оператора в sqlsrv_query () . В вашем случае у вас есть два варианта:
- Создать один сложный оператор T-SQL. В этом случае количество заполнителей должно соответствовать количеству передаваемых параметров.
- Выполнять каждую инструкцию отдельно
Комплексная инструкция:
[110] Примечания:
Драйвер PHP для SQL Server поддерживает несколько наборов результатов. Если вы используете один сложный оператор и один или несколько из ваших операторов являются SELECT
, вам нужно вызвать sqlsrv_next_result () , чтобы сделать следующий результат активным (первый результат активен по умолчанию).POST["addSomething"]
);
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt === false ) {
# Your code here
} else {
# Your code here
}
...
?>
Примечания:
Драйвер PHP для SQL Server поддерживает несколько наборов результатов. Если вы используете один сложный оператор и один или несколько из ваших операторов являются SELECT
, вам нужно вызвать sqlsrv_next_result () , чтобы сделать следующий результат активным (первый результат активен по умолчанию).