quote:MySQL 5.7 Labs — Inserting, Updating, and Deleting Records via HTTP
In the MySQL Labs version of MySQL version 5.7, there is a new HTTP plugin. The HTTP plugin documentation from the labs site provides this information (from MySQL Labs):
The HTTP Plugin for MySQL adds HTTP(S) interfaces to MySQL. Clients can use the HTTP respectively HTTPS (SSL) protocol to query data stored in MySQL. The query language is SQL but other, simpler interfaces exist. All data is serialized as JSON. This version of MySQL Server HTTP Plugin is a Labs release, which means it’s at an early development stage. It contains several known bugs and limitation, and is meant primarily to give you a rough idea how this plugin will look some day. Likewise, the user API is anything but finalized. Be aware it will change in many respects.
[...]
1 2 3 4 5 6 | <?php function showRandom() { $query = "SELECT `category`, `idHash`, `title`, `urlTitle`, `imgName`, `views`, `active` FROM `entries` ORDER BY RAND() LIMIT 1"; $row = mysql_fetch_object($query); } ?> |
1 2 3 | <?php echo showRandom->$row->title; ?> |
1 2 3 4 5 6 7 | <?php function showRandom() { // hier code om een random $row uit de database te halen met de benodigde velden return $row; } ?> |
1 2 3 | <?php echo showRandom()['title']; ?> |
1 2 3 4 | <?php $randomRow = showRandom(); echo $randomRow['title']; ?> |
Mijn dank is groot, straks even proberen. Heb hier PHP 5.3.29, vrij oud volgens mij.quote:Op zondag 10 mei 2015 00:13 schreef Tijn het volgende:
[ code verwijderd ]
In recente versies van PHP:
[ code verwijderd ]
In oudere versies van PHP:
[ code verwijderd ]
Ik heb het nu zo en lijkt te werken:quote:Op zondag 10 mei 2015 00:13 schreef Tijn het volgende:
[ code verwijderd ]
In recente versies van PHP:
[ code verwijderd ]
In oudere versies van PHP:
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 10 11 | <?php function showRandom() { global $mysqli; $query = "SELECT `category`, `idHash`, `title`, `urlTitle`, `imgName`, `views`, `active` FROM `entries` ORDER BY RAND() LIMIT 1"; if ($result = $mysqli->query($query)) { while ($row = $result->fetch_object()) { return $row; } } } ?> |
1 2 3 | <?php echo showRandom()->title; ?> |
Resultaat van showRandom() bewaren:quote:Op zondag 10 mei 2015 00:46 schreef xaban06 het volgende:
[..]
Ik heb het nu zo en lijkt te werken:
[ code verwijderd ]
[ code verwijderd ]
Weet alleen niet of dit DE manier is
/edit
Hmm, nu ik er zo over na denk wil ik dit helemaal niet.
Want als ik ergens op de pagina echo showRandom->views; doe, en iets later echo showRandom()->imgName;. Zal de views niet uit hetzelfde result komen als van imgName, omdat iedere ik showRandom(); en nieuwe query wordt gedraaid
1 2 3 | $random = showRandom(); echo $random->views; echo $random->imgName; |
En die functie niet showRandom() noemen. Iets als getRandomEntry() geeft beter aan wat de functie doet.quote:Op zondag 10 mei 2015 02:16 schreef Reemi het volgende:
[..]
Resultaat van showRandom() bewaren:
[ code verwijderd ]
quote:Tweakers: Sql-optimalisatie - Eén grote versus veel kleine queries
In de afgelopen periode hebben we bij Tweakers diverse belangrijke stukken code herschreven. Eerder dit jaar is ons vernieuwde reactiesysteem geïntroduceerd, en in april en mei zijn we bezig geweest om het karmasysteem te herschrijven.
[...]
Wat ons betreft valt de database van Tweakers met 219GB trouwens niet in de orde van grootte om over te stappen op sharding of andere technieken om verscheidene servers tegelijk te gebruiken. Overigens hebben we er wel op diverse manieren voor gezorgd dat de MySQL-database niet voor alle gegevens gebruikt hoeft te worden. We hebben er bijvoorbeeld voor gekozen om bepaalde stukken data in MongoDB op te slaan of in memcached te cachen en veel van de informatie wordt via onze Java-omgeving opgevraagd.
In dit artikel beschrijven we twee toepassingen waarbij de databaseprestaties voor ons belangrijk waren. Daarbij laten we stapsgewijs een aantal optimalisaties zien die signficante verbeteringen in de prestaties gaven. Bedenk wel dat dit artikel niet gaat over het plaatsen van de juiste indices of het optimisaliseren van de instellingen van een database. Dit is een parallelle taak waarbij bekeken wordt of de database wel optimaal ingezet wordt, maar een goed geoptimaliseerde tabelstructuur en database zijn uiteraard ook belangrijk voor goede prestaties.
maak een padamtssshhh prepare statement 😂quote:
Inderdaad op die manier opgelostquote:Op zondag 10 mei 2015 02:16 schreef Reemi het volgende:
[..]
Resultaat van showRandom() bewaren:
[ code verwijderd ]
1 2 3 | <?php global $mysqli; ?> |
1 2 3 | <?php $mysqli = new mysqli("localhost", "xx", "xx", "xx"); ?> |
Al paar keer daarover gaan lezen, maar ik begrijp het maar niet, ik ben blijven haken bij php4quote:Op zondag 10 mei 2015 13:29 schreef Monolith het volgende:
Sowieso kan het geen kwaad om eerst eens de basisconcepten van object georiënteerd programmeren te leren; classes, methodes, fields, scopes, objecten, enzovoort.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?php $URI = $_SERVER['REQUEST_URI']; $urlPart = explode("/", strtolower($URI)); if ($URI == "/") { /* Show frontpage as browser URL is http://www.xx.nl */ $showPage = "frontpage"; } else { /* We need to show another page than the frontpage */ /* Lets see which pages we have */ $safePages = array("xx", "foo", "bar", "contact"); if (in_array($urlPart["1"], $safePages)) { /* The page which needs to be loaded seems to be a valid URL */ /* Lets see now which page we have to load */ if ($urlPart["1"] == "xx") { /* We have to load the xx page */ /* But first we have to check if we have to load the general xx page or we have to show a single xx entry */ if (empty($urlPart["2"])) { /* Ok, we have to load the xx general page */ $showPage = "xx"; } else { /* It seems there is more in the URL, so we have to load a xx entry */ /* But first, lets check if the entry does exists */ $resultCheck = checkEntry($urlPart["1"], $urlPart["2"]); if ($resultCheck) { /* Result is found. We can safely load a xx entry */ $showPage = "xxEntry"; } else { /* Result not found, probably incorrect hash or someone is hacking the website */ /* Show Error 404 - entry not found */ $showPage = "404"; } } } /* repeat the if for other pages */ /* STILL TO DO */ } else { /* Page not found in safe pages */ /* Show Error 404 - page not found */ $showPage = "404"; } } ?> |
Mja, ik zou het toch blijven proberen. Wat jij hierboven schetst kun je bijvoorbeeld prima regelen met een singleton.quote:Op dinsdag 12 mei 2015 18:58 schreef xaban06 het volgende:
[..]
Al paar keer daarover gaan lezen, maar ik begrijp het maar niet, ik ben blijven haken bij php4
Of dependency injection jo! Het 'Services principe' lijkt steeds meer gebruikt te worden.quote:Op dinsdag 12 mei 2015 19:27 schreef Monolith het volgende:
[..]
Mja, ik zou het toch blijven proberen. Wat jij hierboven schetst kun je bijvoorbeeld prima regelen met een singleton.
En wat als je site in een ander pad geinstalleerd wordt dan onder de www-root?quote:Op dinsdag 12 mei 2015 19:24 schreef xaban06 het volgende:
Nu ik toch bezig ben. Ik wil 'clean URLs'. Dat moet ik met PHP zien af te vangen en de correcte pagina te laden.
Heb daarvoor dit geschreven, is dit een beetje de manier hoe het moet of kan het VEEL simpeler en beter?
[ code verwijderd ]
Bovenstaande script include ik in mijn index. In de index kijk ik naar de waarde van $showPage en afhankelijk daarvan include ik de benodigde pagina's.
Hoe bedoel je? Is mijn script daar afhankelijk van dan?quote:Op dinsdag 12 mei 2015 20:57 schreef zoem het volgende:
[..]
En wat als je site in een ander pad geinstalleerd wordt dan onder de www-root?
quote:Op dinsdag 12 mei 2015 21:10 schreef xaban06 het volgende:
[..]
Hoe bedoel je? Is mijn script daar afhankelijk van dan?
1 2 3 | <?php $URI = $_SERVER['REQUEST_URI']; ?> |
Als je http://example.com/site/index.php aanroept zul je 'site' eruit moeten knippen. Anders zullen de array indices van $urlPart niet meer kloppen.quote:Op dinsdag 12 mei 2015 21:10 schreef xaban06 het volgende:
[..]
Hoe bedoel je? Is mijn script daar afhankelijk van dan?
Ah op die manierquote:Op dinsdag 12 mei 2015 21:18 schreef zoem het volgende:
[..]
Als je http://example.com/site/index.php aanroept zul je 'site' eruit moeten knippen. Anders zullen de array indices van $urlPart niet meer kloppen.
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |