Вам же Marat_Kh показал образец подготовленного запроса. PDO уже позаботилось чтобы не было SQL инъекций, надо делать подготовленный запрос.
То есть сначала формируется запрос с переменными вида :name далее PDO проверяет запрос и если всё хорошо подставляете вместо переменных данные.
печалька.. 😂
Про подготовленные запросы я прочитал, но в итоге получится в 2 раза больше строк чем я обычно пишу.
Хотелось бы наоборот упростить себе задачу, а не усложнить, при этом козыряя - вот дескать на ООП пишу )))
Я бы хотел писать такие запросы типы
$str = "П'етр первый";$insert = $db->request("INSERT INTO `test` (`id`, `name`, `url`, `sid`) VALUES (NULL, '{$str}', 'http://google.com', '0');");
и не думать каждый раз, а что там в переменной, надо ли экранировать - чтобы класс сам все экранировал, без танцев с подготовленными запросами.
Нельзя так?
Спасибо за ответы - но все что предложили выше вроде бы не универсально. Insert ведь разные бывают в разные таблицы, разное кол-во полей, условия там разные....
По сути мне нужно просто экранирование кавычек но ДЛЯ ЛЮБОГО запроса пришедшего в класс. Так можно сделать?
Удалил Хром из системы, удалил Хромдрайвер. Установил все заново.
Проверил версию -
Google Chrome 86.0.4240.75
Скачал вебдрайвер версии (теперь при запуске пишет правильную версию, раньше реально старая стояла)
ChromeDriver 86.0.4240.22
Повторил запуск - те же ошибки (((
Вам уже ответили что INNER JOIN тут бессмысленно применять, таблица то одна и та же.
Попробовал запустил драйвер через Джаву
java -"Dwebdriver.chrome.driver"=/var/www/com/chromedriver -jar /var/www/com/selenium.jar
Все запустилось, запускаю скрипт изменив
$host = 'http://localhost:4444';
PHP Fatal error: Uncaught Facebook\WebDriver\Exception\WebDriverException: JSON decoding of remote response failed.Error code: 4The response: '<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <link rel="stylesheet" type="text/css" href="/assets/displayhelpservlet.css" media="all"/> <link href="/assets/favicon.ico" rel="icon" type="image/x-icon" /> <script src="/assets/jquery-3.1.1.min.js" type="text/javascript"></script> <script src="/assets/displayhelpservlet.js" type="text/javascript"></script> <script type="text/javascript"> var json = Object.freeze('{"consoleLink": "\u002fwd\u002fhub","type": "Standalone","class": "org.openqa.grid.web.servlet.DisplayHelpHandler$DisplayHelpServletConfig","version": "3.141.59"}'); </script></head><body><div id="content"> <div id="help-heading"> <h1><span id="logo"></span></h1> <h2>Selenium <span class="se-type"></span> v.<span class="se-version"></span></h2> </div> <div id="content-body"> <p> Whoops! The URL specified route in /var/www/com/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php on line 303
Уже вроде лучше, хоть что-то ... буду гуглить дальше
Большое спасибо за подробную инструкцию!
1. Установил через компостер php-webdriver/webdriver.
2. проверил версию хрома - Google Chrome 84.0.4147.89
3. Скачал ChromeDriver 84.0.4147.30
4. Перешел в папку куда скачал, запускаю chromedriver --port=7010 --whitelisted-ips=127.0.0.1
получаю в консоли
Starting ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864}) on port 7010Remote connections are allowed by a whitelist (127.0.0.1).Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Вроде запустился да? (Я кстати хч почему Starting ChromeDriver 76.0.3809.68 не соответствует тому номеру что я скачал)
4. Запускаю ваш скрипт изменив в нем только путь до autoload.php
но получаю ошибку
PHP Fatal error: Uncaught Facebook\WebDriver\Exception\UnknownServerException: unknown error: Chrome failed to start: exited abnormally (unknown error: DevToolsActivePort file doesn't exist) (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
Sly32 я так и не нашел в сети работающих мануалов по запуску селениума + пхп. Есть буквально пару штук, но выполнив все шаги получаю ошибку (самый первый пост).
Если вы знаете как запустить это добро, буду рад следовать вашим инструкциям
На данный момент сам селениум сервер запускается нормально, но при запуске скрипта php получаю ошибку
PHP Fatal error: Uncaught Facebook\WebDriver\Exception\SessionNotCreatedException: Unable to create new service: ChromeDriverServiceBuild info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'System info: host: 'fin', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.9.0-9-amd64', java.version: '1.8.0_222'Driver info: driver.version: unknown in /var/www/com/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:154