Для тех, кто наткнулся на этот ответ от Google, позвольте мне попытаться разобраться:
Как заметил Аджай, есть два события, которые увольняются для печати, но они не очень хорошо поддерживаются; насколько я читал, они поддерживаются только в браузерах Internet Explorer и Firefox (6+). Эти события - window.onbeforeprint и window.onafterprint, которые (как и следовало ожидать) будут срабатывать до и после задания печати.
Однако, как указано в ссылке Джо ( https://stackoverflow.com/a/9920784/578667 ), это не совсем так, как это реализовано во всех случаях. В большинстве случаев оба события срабатывают перед диалогом; в других случаях выполнение сценария может быть остановлено во время диалога печати, поэтому оба события могут срабатывать одновременно (после завершения диалога).
Для получения дополнительной информации (и поддержки браузера) для этих двух событий :
https://developer.mozilla.org/en-US/docs/DOM/window.onbeforeprint
https: // developer.mozilla.org/en-US/docs/DOM/window.onafterprint
Короткий ответ: если вы надеетесь помешать потоку печати, не делайте этого. Если вы надеетесь запустить код после печати, он не будет работать, как вы хотите; ожидать плохой поддержки браузера и стараться грамотно деградировать.
Нет, вы не можете использовать mysql
и mysqli
вместе. Они представляют собой отдельные API-интерфейсы, и создаваемые ими ресурсы несовместимы друг с другом.
Однако есть mysqli_close
.
с моей стороны, я думаю, что вы можете, но вам придется делать файлы для подключения к базе данных, потому что mysqli_*
будет принимать только mysqli_connect
, и поэтому с помощью mysql_*
вы можете попробовать при обучении PDO Better
MySQLi
намного безопаснее, чем MySQL
, который в любом случае устарел. Вот почему вы должны придерживаться MySQLi
, а также вы не можете смешивать их, поскольку они оба разные.
Просто, чтобы дать общий ответ здесь обо всех трех API MYSQL со ссылкой:
Вы не можете смешивать ни одно из трех ( mysql_*
, mysqli_*
, PDO
) API MYSQL от PHP вместе, он просто не работает. Это даже в справочнике FAQ :
Невозможно смешать расширения. Например, передача mysqli в PDO_MySQL или ext / mysql не будет работать.
blockquote>
Вам нужно использовать тот же API MySQL и связанные с ним функции, от подключения к запросам .
mysql_real_escape_string()
с остальной частью их кода PDO. Есть ли что-то, что я не получил здесь в свое время, работая с этими различными API-интерфейсами? Я здесь невежественный? Это выражение для "теперь удалено" вопрос stackoverflow.com/q/34209127 доступен только для просмотра 10K +, если кто-нибудь задается вопросом. Это по отношению к $stmt3->execute(array('classID' => $_POST['class'],'studentID' => mysql_real_escape_string($substr)))
. Я что-то упустил?
– Funk Forty Niner
10 December 2015 в 20:05
mysql_real_escape_string()
будет молча попытаться установить соединение с параметрами по умолчанию , которые затем работали для OP. Поэтому он просто установил соединение, чтобы получить набор символов. Таким образом, OP имеет 2 соединения
– Rizier123
10 December 2015 в 20:49
ini_get()
. Поэтому он, вероятно, работает только для OP с настройками по умолчанию. Я бы просто оставил его и получил новый кофе (☕☕☕).
– Rizier123
10 December 2015 в 20:56
sqlsrv_query()
. Я только что закрыл вопрос здесь stackoverflow.com/q/41263771
– Funk Forty Niner
21 December 2016 в 14:40
Технически вы можете использовать столько отдельных соединений, сколько хотите, в то время как ваша проблема вызвана простой опечаткой - вы не можете использовать ресурсы только из одного расширения с функциями из другого, что вполне очевидно.
Однако вам следует избегать нескольких подключений от одного и того же сценария, независимо от одного API или другого. Поскольку это будет обременять ваш сервер базы данных и исчерпывать его ресурсы. Итак, хотя технически вы можете, вы не должны смешивать разные расширения в своем коде, за исключением короткого периода рефакторинга.