<?xml version="1.0"?>
<rss version="2.0"><channel><title>Website Management and Coding Latest Topics</title><link>https://helionet.org/index/forum/13-website-management-and-coding/</link><description>Website Management and Coding Latest Topics</description><language>en</language><item><title>Request to Set shawon.pro as Main Domain</title><link>https://helionet.org/index/topic/67340-request-to-set-shawonpro-as-main-domain/</link><description><![CDATA[<p>
	 
</p>

<p>
	Dear HelioHost Support Team,
</p>

<p>
	 
</p>

<p>
	I hope you are doing well.
</p>

<p>
	 
</p>

<p>
	I would like to request that my domain **shawon.pro** be set as the main (primary) domain for my hosting account.
</p>

<p>
	 
</p>

<p>
	Here are my details:
</p>

<p>
	 
</p>

<p>
	* **Username:** shawonxmax
</p>

<p>
	* **Domain:** shawon.pro
</p>

<p>
	 
</p>

<p>
	Please configure this domain as my main domain instead of the default subdomain (shawonxmax.helioho.st). I would also like all website files and databases to be associated with this main domain.
</p>

<p>
	 
</p>

<p>
	Kindly let me know if any additional steps are required from my side, including nameserver configuration.
</p>

<p>
	 
</p>

<p>
	Thank you very much for your support.
</p>

<p>
	 
</p>

<p>
	Best regards,
</p>

<p>
	Shawon
</p>
]]></description><guid isPermaLink="false">67340</guid><pubDate>Sat, 28 Mar 2026 09:04:47 +0000</pubDate></item><item><title>Python WSGI</title><link>https://helionet.org/index/topic/66947-python-wsgi/</link><description><![CDATA[<p>
	Hi there. I know there exists a tutorial / instruction for how to config and enable use of wsgi for running Python apps. I can't rem where to find it and searching "WSGI" here produces zero results. <br />
	<br />
	I've followed the instructions in the past, but i suffered brain trauma and some things... it's like it never happened. <br />
	I remember doing it. Can't remember the configuration. I typically use Gunicorn and I think we don't do it that way for the Hestia CP setup if i recall correctly.<br />
	<br />
	Please advise. Thank you!<br />
	<br />
	 
</p>
]]></description><guid isPermaLink="false">66947</guid><pubDate>Wed, 18 Feb 2026 00:07:10 +0000</pubDate></item><item><title>Guitar Modes Trainer - Web Components and SVG</title><link>https://helionet.org/index/topic/67059-guitar-modes-trainer-web-components-and-svg/</link><description><![CDATA[<p>
	Check out the Guitar Modes Trainer i built using Web Components and SVG<br />
	<a href="https://training.statecollegeguitarlessons.site" rel="external nofollow">https://training.statecollegeguitarlessons.site</a><br />
	<br />
	Enjoy. 
</p>
]]></description><guid isPermaLink="false">67059</guid><pubDate>Tue, 24 Feb 2026 18:34:03 +0000</pubDate></item><item><title>Bots</title><link>https://helionet.org/index/topic/66936-bots/</link><description><![CDATA[<p>
	How are people protecting their websites against bot traffic? <br />
	<br />
	I know in the past there have been scripts you can add to prevent webcrawlers like alexa and waybackmachine. But these were site specific and I'm not sure they work anymore. <br />
	<br />
	I'm trying to update myself. <br />
	<br />
	There's search engine bots. <br />
	There's ai bots. <br />
	There's web archive bots like wayback machine. <br />
	There's spam bots. <br />
	<br />
	what else is there? And how do you block them to protect your bandwidth? <br />
	<br />
	Also, I have not tried implementing any of the included php forum/message boards that helio-host provides. <br />
	<br />
	But the last php message board I threw up on the interwebs got annihilated by russian bots posting links for medications. The bots figured out how to register usernames and one day I went on there and there was like 1000 registered bots and I just shut it down. To be fair though, that was on my friends server and I did not have access to anything but the ftp. <br />
	<br />
	Still have yet to try again. <br />
	<br />
	Also I've always had problems from spammers with posted email address's on pages. Like myemail@email.com <br />
	The way to fix this is parse it like [myemail] @ [email.com] or something to that effect. <br />
	<br />
	I actually don't mind it though because it's very obvious which emails are scam emails from bots. and it keeps me on my toes and updated on their language. <br />
	 
</p>

<p style="background-color:rgb(255,255,255);color:rgb(34,34,34);font-size:small;">
	<span style="font-size:10px;">Hi,</span>
</p>

<p style="background-color:rgb(255,255,255);color:rgb(34,34,34);font-size:small;">
	<span style="font-size:10px;">Reaching out regarding any website redesign or fix requirements.</span>
</p>

<p style="background-color:rgb(255,255,255);color:rgb(34,34,34);font-size:small;">
	<span style="font-size:10px;">I focus on quality website work with smooth delivery.</span>
</p>

<p style="background-color:rgb(255,255,255);color:rgb(34,34,34);font-size:small;">
	<span style="font-size:10px;">Thank you.</span>
</p>

<p style="background-color:rgb(255,255,255);color:rgb(34,34,34);font-size:small;">
	<span style="font-size:10px;"><font color="#888888" style="background-color:#ffffff;font-size:small;">Billy</font></span>
</p>

<p>
	 
</p>

<div style="background-color:#ffffff;color:#000000;font-size:12pt;">
	<span style="font-size:10px;">Grace Howard</span>
</div>

<div style="background-color:#ffffff;color:#000000;font-size:12pt;">
	<span style="font-size:10px;">Hi,</span>
</div>

<div style="background-color:#ffffff;color:#000000;font-size:12pt;">
	<span style="font-size:10px;">I came across your website and wanted to share a quick idea. Many businesses miss out on potential customers simply because they don’t appear on Google’s first page. With the right SEO strategy, it’s possible to increase visibility, attract consistent organic traffic, and build long-term credibility without relying heavily on ads.</span>
</div>

<div style="background-color:#ffffff;color:#000000;font-size:12pt;">
	<span style="font-size:10px;">Our team helps businesses achieve this through research-driven and sustainable SEO practices. If you’re open to it, I’d be happy to share details.</span>
</div>

<div style="background-color:#ffffff;color:#000000;font-size:12pt;">
	<span style="font-size:10px;">Best regards,</span>
</div>

<p>
	 
</p>

<p>
	What are we doing about these jerks? 
</p>
]]></description><guid isPermaLink="false">66936</guid><pubDate>Mon, 16 Feb 2026 02:04:12 +0000</pubDate></item><item><title>AEO is reasonable. SEO produces little ROI</title><link>https://helionet.org/index/topic/66717-aeo-is-reasonable-seo-produces-little-roi/</link><description><![CDATA[<p>
	Check out the article I just published about it:<br />
	<a href="https://neutility.life/web/sem-seo" rel="external nofollow">https://neutility.life/web/sem-seo</a><br />
	<br />
	Yeah yeah. that's the crazy guy talkin again. <br />
	But it's like the Elton John tune, Madman Across the Water. I think you'd better get your coat, dear! It looks like rain!<br />
	<br />
	DIFFERENT TOPIC, but sort-of-relevant:<br />
	I'll buy all the servers once I get some investors. Kidding, but i'll fly out there and we have a drink of champaigne. <br />
	<a href="https://dufospy.com/advanced/patent" rel="external nofollow">https://dufospy.com/advanced/patent</a><br />
	<br />
	dig.
</p>

<div class="ipsEmbeddedVideo" contenteditable="false">
	<div>
		<iframe allowfullscreen="" frameborder="0" height="113" title="Brandi Carlile - Madman Across The Water April 8th" width="200" data-embed-src="https://www.youtube-nocookie.com/embed/MPhPN7Cr_O8?start=80&amp;feature=oembed"></iframe>
	</div>
</div>

<p>
	 
</p>
]]></description><guid isPermaLink="false">66717</guid><pubDate>Sat, 17 Jan 2026 11:07:07 +0000</pubDate></item><item><title>Laravel Deployment Issue &#x2013; Domain Redirecting to helionet.org</title><link>https://helionet.org/index/topic/66590-laravel-deployment-issue-%E2%80%93-domain-redirecting-to-helionetorg/</link><description><![CDATA[<p>
	 
</p>

<p>
	Problem:<br />
	After pointing the domain example.com to Johnny (HelioHost), the site was redirecting to helionet.org instead of loading the Laravel application.
</p>

<p>
	At first this looked like a DNS or .htaccess misconfiguration. However, the real cause was inside Laravel’s environment file (.env):
</p>

<p>
	APP_URL=https://johnny.heliohost.org/<br />
	ASSET_URL=https://example.helioho.st/public
</p>

<p>
	Because APP_URL was set to the server’s default domain (johnny.heliohost.org), Laravel generated all links and redirects to that domain. This made the site appear as if it was stuck on helionet.org.
</p>

<p>
	Solution:<br />
	Update the .env file so Laravel knows the correct production domain:
</p>

<p>
	APP_URL=https://example.com<br />
	ASSET_URL=https://example.com
</p>

<p>
	Then clear Laravel’s cached configuration:
</p>

<p>
	php artisan config:clear<br />
	php artisan cache:clear
</p>

<p>
	Now all redirects, assets, and generated URLs point to example.com correctly.
</p>

<p>
	Explanation:<br />
	- DNS records were already correct, pointing example.com to Johnny’s IP.<br />
	- Apache/.htaccess was fine, routing requests into Laravel’s public folder.<br />
	- The problem was application-level misrouting: Laravel used APP_URL to decide what domain to generate links for.<br />
	- Since APP_URL was set to johnny.heliohost.org, every redirect and asset URL pointed to the wrong domain.
</p>

<p>
	By fixing APP_URL and ASSET_URL, Laravel now generates URLs for the right domain (example.com), resolving the misrouting.
</p>

<p>
	<br />
	 
</p>
]]></description><guid isPermaLink="false">66590</guid><pubDate>Tue, 30 Dec 2025 20:41:33 +0000</pubDate></item><item><title>the fake TLDs</title><link>https://helionet.org/index/topic/66300-the-fake-tlds/</link><description><![CDATA[<p>
	i just happened to remember. oh i remember reading it!<br />
	<br />
	i bought thsee garbage fake TLD's huh. well, it's 99c right. haha.<br />
	<br />
	no wonder BIND9 never heard of it. <br />
	<br />
	who ever heard of a dot website web site?<br />
	not our namesevers, i'll tell you that much! hahahaa. <br />
	<br />
	good it's nuts. or,<br />
	the Gnu version: Your Gnuts. <br />
	(snacks)<br />
	<br />
	What is that story about the fake TLD's? People didn't want it. people don't want it. <em>This guy</em> now has a couple because he's a sad old man. <br />
	Pshaw!<br />
	<br />
	Is that why you have to edit the Zone file on your end?<br />
	i dunno. i rem there is something really stupid and terrible about those new tlds. but can't remember. 
</p>
]]></description><guid isPermaLink="false">66300</guid><pubDate>Sun, 23 Nov 2025 04:39:11 +0000</pubDate></item><item><title>VPS - Ubuntu - Email Conf</title><link>https://helionet.org/index/topic/64883-vps-ubuntu-email-conf/</link><description><![CDATA[<p>
	This user would very much appreciate communication with another user willing to help me verify the configuration of my email setup.<br />
	I've got it all messed up such that gmail for example wont accept the msgs.<br />
	<br />
	i's don't send much email. however, it would be cool to function correctly when I do so. LOL.<br />
	That's me. Not really being lazy as much as being brain damaged.<br />
	<br />
	I think I have the Neutility.Life domaion correct (verified sent), but... that's from ChatGPT coaching me.<br />
	Seemed like that was a pain in the ashtray. ha!<br />
	maybe i can get it if i copy what i put in there, but this just a shout. I'm willing to test send some email to anyone how needs that sort of assistance, would might help me w/ this? or anyone. doesn't matter to me.<br />
	<br />
	Cheers!<br />
	<a class="ipsAttachLink ipsAttachLink_image" href="https://helionet.org/index/uploads/monthly_2025_06/image.png.1e4fd390efcb38c2b7292b828e136664.png" data-fileid="2682" data-fileext="png" rel=""><img class="ipsImage ipsImage_thumbnailed" data-fileid="2682" data-ratio="57.40" width="1000" alt="image.thumb.png.177c048ffb37fb9daeb3c16e53806557.png" src="https://helionet.org/index/uploads/monthly_2025_06/image.thumb.png.177c048ffb37fb9daeb3c16e53806557.png" /></a>
</p>
]]></description><guid isPermaLink="false">64883</guid><pubDate>Sat, 28 Jun 2025 23:10:10 +0000</pubDate></item><item><title>Gateway Time-out</title><link>https://helionet.org/index/topic/65400-gateway-time-out/</link><description><![CDATA[<p>
	When I work this happens many times.
</p>

<p><a href="https://helionet.org/index/uploads/monthly_2025_08/why.PNG.648d9688d453c353681898e156c8c774.PNG" class="ipsAttachLink ipsAttachLink_image" ><img data-fileid="2744" src="https://helionet.org/index/uploads/monthly_2025_08/why.thumb.PNG.cd6642914767e6c92aa2a23bc7ab1f4c.PNG" data-ratio="55.9" width="1000" class="ipsImage ipsImage_thumbnailed" alt="why.PNG"></a></p>]]></description><guid isPermaLink="false">65400</guid><pubDate>Fri, 22 Aug 2025 12:20:13 +0000</pubDate></item><item><title>User-reg coder wanted for @custom-domain webmail setting service piggybacking email forwarding service, gmail storage and smtp</title><link>https://helionet.org/index/topic/65479-user-reg-coder-wanted-for-custom-domain-webmail-setting-service-piggybacking-email-forwarding-service-gmail-storage-and-smtp/</link><description><![CDATA[<p>
	I am looking for a coder to create User-reg module for @custom-domain webmail setting service which piggybacks an email forwarding service, gmail storage and smtp
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">65479</guid><pubDate>Fri, 29 Aug 2025 12:06:39 +0000</pubDate></item><item><title>Send Email with PHPMailer on Shared Hosting</title><link>https://helionet.org/index/topic/65452-send-email-with-phpmailer-on-shared-hosting/</link><description><![CDATA[<p>
	PHPMailer is more reliable than PHP's <em>mail()</em>, and works well on shared hosting without Composer.  
</p>

<p>
	 
</p>

<p>
	<strong>Steps:</strong>  
</p>

<p>
	1. Download PHPMailer <a href="https://github.com/PHPMailer/PHPMailer/releases" rel="external nofollow">ZIP here</a>  
</p>

<p>
	2. Upload the folder to your host (e.g. /phpmailer/)  
</p>

<p>
	3. Use this sample code:
</p>

<p>
	 
</p>

<p>
	</p><pre class="ipsCode">
	&lt;?php
	use PHPMailer\PHPMailer\PHPMailer;
	require 'phpmailer/src/PHPMailer.php';
	require 'phpmailer/src/SMTP.php';
	 
	$mail = new PHPMailer();
	$mail-&gt;isSMTP();
	$mail-&gt;Host = 'your_email_server';
	$mail-&gt;SMTPAuth = true;
	$mail-&gt;Username = 'your_email@example.com';
	$mail-&gt;Password = 'your_app_password';
	$mail-&gt;SMTPSecure = 'tls';
	$mail-&gt;Port = 587;
	 
	$mail-&gt;setFrom('your_email@example.com', 'Your Name');
	$mail-&gt;addAddress('recipient@example.com');
	$mail-&gt;Subject = 'Test Email';
	$mail-&gt;Body = 'Hello, this is a test email sent via PHPMailer on shared hosting.';
	 
	echo $mail-&gt;send() ? "Sent!" : "Error: ".$mail-&gt;ErrorInfo;
	?&gt;
	</pre><p>
</p>

<p>
	 
</p>

<p>
	PHPMailer + SMTP ensures better deliverability, supports HTML emails and attachments
</p>
]]></description><guid isPermaLink="false">65452</guid><pubDate>Wed, 27 Aug 2025 12:01:51 +0000</pubDate></item><item><title>Polygonal dot line</title><link>https://helionet.org/index/topic/65272-polygonal-dot-line/</link><description><![CDATA[<p>
	I'd love to use the polygonal dotted line background I discovered on this site, <a href="https://ipscore.io" rel="external nofollow">https://ipscore.io</a> on my website. Could you please guide me on how to do that?
</p>
]]></description><guid isPermaLink="false">65272</guid><pubDate>Mon, 11 Aug 2025 00:17:38 +0000</pubDate></item><item><title>webmail problem ERORR 404</title><link>https://helionet.org/index/topic/65429-webmail-problem-erorr-404/</link><description><![CDATA[<p>
	hi i try to enable the webmail in the plesk hosting panel i tried to enable it to my custom domain and the heliohost subdomain it's givving me an error 
</p>

<h1>
	Not Found
</h1>

<p>
	The requested URL was not found on this server.<br />
	<br />
	can anyone help me slove this
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">65429</guid><pubDate>Mon, 25 Aug 2025 08:32:11 +0000</pubDate></item><item><title>Adding subdomains to my account</title><link>https://helionet.org/index/topic/65260-adding-subdomains-to-my-account/</link><description><![CDATA[<p>
	Hi, <br />
	Account name: o1mark1 <br />
	Server Type: VPS MARS
</p>

<p>
	Custom Domain to be Added:
</p>

<p>
	1) blocky.heliohost.us
</p>

<p>
	2) technitium.heliohost.us
</p>

<p>
	3) pi-hole.heliohost.us
</p>

<p>
	4) dns.heliohost.us
</p>

<p>
	 
</p>
]]></description><guid isPermaLink="false">65260</guid><pubDate>Sun, 10 Aug 2025 03:14:49 +0000</pubDate></item><item><title>Issue with custom database wrapper class</title><link>https://helionet.org/index/topic/63164-issue-with-custom-database-wrapper-class/</link><description><![CDATA[<p>
	Hi! I'm trying to create a wrapper class for database operations but the problem is when I'm trying to call the fetch_object() function after a subquery it breaks the while() loop, you can check the codes below:
</p>

<p>
	 
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> query</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> $sql </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln"> </span><span class="pun">?</span><span class="pln">array $params </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">bool</span><span class="pln"> $return_result </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">):</span><span class="pln"> </span><span class="kwd">bool</span><span class="pun">|</span><span class="pln">mysqli_result</span><span class="pun">|</span><span class="pln">mysqli_stmt</span><span class="pun">|</span><span class="typ">Result</span><span class="pun">|</span><span class="typ">PDOStatement</span><span class="pun">|</span><span class="kwd">static</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $return_result </span><span class="pun">=</span><span class="pln"> $return_result </span><span class="pun">??</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">return_result</span><span class="pun">;</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">sql </span><span class="pun">=</span><span class="pln"> $sql </span><span class="pun">?:</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">queryBuilder</span><span class="pun">-&gt;</span><span class="pln">build</span><span class="pun">();</span><span class="pln">

    </span><span class="com">// Generate a unique query ID to track different queries</span><span class="pln">
    $queryKey </span><span class="pun">=</span><span class="pln"> md5</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">);</span><span class="pln">

    </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">mode</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="typ">SGNDatabaseMode</span><span class="pun">::</span><span class="pln">NATIVE</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">driver </span><span class="pun">==</span><span class="pln"> </span><span class="typ">SGNDatabaseDriver</span><span class="pun">::</span><span class="pln">MYSQL</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> mysqli_query</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> elseif </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">driver </span><span class="pun">==</span><span class="pln"> </span><span class="typ">SGNDatabaseDriver</span><span class="pun">::</span><span class="pln">PGSQL</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> pg_query</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> db_query</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

            </span><span class="kwd">case</span><span class="pln"> </span><span class="typ">SGNDatabaseMode</span><span class="pun">::</span><span class="pln">PDO</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">driver </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">SGNDatabaseDriver</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $stmt </span><span class="pun">=</span><span class="pln"> preg_match</span><span class="pun">(</span><span class="str">'/SELECT/i'</span><span class="pun">,</span><span class="pln"> $sql</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">-&gt;</span><span class="pln">prepare</span><span class="pun">(</span><span class="pln">$sql</span><span class="pun">);</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $stmt</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> db_query</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

            </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> db_query</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">,</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">con</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        </span><span class="com">// Reset result pointer for repeated fetches</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">instanceof</span><span class="pln"> mysqli_result </span><span class="pun">||</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">PDOStatement</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $this</span><span class="pun">-&gt;</span><span class="pln">result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">];</span><span class="pln"> </span><span class="com">// Update result pointer</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        $this</span><span class="pun">-&gt;</span><span class="pln">queryStatus </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">bool</span><span class="pun">)</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">];</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Exception</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        $this</span><span class="pun">-&gt;</span><span class="pln">queryStatus </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> $return_result </span><span class="pun">?</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> $this</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">


</span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> fetch_object</span><span class="pun">(</span><span class="kwd">string</span><span class="pln"> $class </span><span class="pun">=</span><span class="pln"> </span><span class="str">'stdClass'</span><span class="pun">,</span><span class="pln"> array $constructor_args </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[]):</span><span class="pln"> </span><span class="kwd">bool</span><span class="pun">|</span><span class="kwd">null</span><span class="pun">|</span><span class="kwd">object</span><span class="pun">|</span><span class="kwd">string</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">try</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// Get the unique query key for the current query</span><span class="pln">
        $queryKey </span><span class="pun">=</span><span class="pln"> md5</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">sql</span><span class="pun">);</span><span class="pln">  </span><span class="com">// Unique key for the current query</span><span class="pln">

        </span><span class="com">// Check if the results for this query exist</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">isset</span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">]))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">

        $result </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">results</span><span class="pun">[</span><span class="pln">$queryKey</span><span class="pun">];</span><span class="pln">

        </span><span class="com">// Fetch object based on the query mode</span><span class="pln">
        </span><span class="kwd">switch</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">mode</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">case</span><span class="pln"> </span><span class="typ">SGNDatabaseMode</span><span class="pun">::</span><span class="pln">NATIVE</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">driver </span><span class="pun">==</span><span class="pln"> </span><span class="typ">SGNDatabaseDriver</span><span class="pun">::</span><span class="pln">MYSQL </span><span class="pun">&amp;&amp;</span><span class="pln"> $result </span><span class="kwd">instanceof</span><span class="pln"> mysqli_result</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> mysqli_fetch_object</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">,</span><span class="pln"> $class</span><span class="pun">,</span><span class="pln"> $constructor_args</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> elseif </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">driver </span><span class="pun">==</span><span class="pln"> </span><span class="typ">SGNDatabaseDriver</span><span class="pun">::</span><span class="pln">PGSQL </span><span class="pun">&amp;&amp;</span><span class="pln"> $result </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">Result</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> pg_fetch_object</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln"> $class</span><span class="pun">,</span><span class="pln"> $constructor_args</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

            </span><span class="kwd">case</span><span class="pln"> </span><span class="typ">SGNDatabaseMode</span><span class="pun">::</span><span class="pln">PDO</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$this</span><span class="pun">-&gt;</span><span class="pln">driver </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">SGNDatabaseDriver</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> $result </span><span class="kwd">instanceof</span><span class="pln"> </span><span class="typ">PDOStatement</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">-&gt;</span><span class="pln">fetchObject</span><span class="pun">(</span><span class="pln">$class</span><span class="pun">,</span><span class="pln"> $constructor_args</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">

            </span><span class="kwd">default</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$result </span><span class="kwd">instanceof</span><span class="pln"> mysqli_result</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> db_fetch_object</span><span class="pun">(</span><span class="pln">$result</span><span class="pun">,</span><span class="pln"> $class</span><span class="pun">,</span><span class="pln"> $constructor_args</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">catch</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Exception</span><span class="pln"> $e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// Handle exceptions if needed</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	 
</p>

<p>
	The codes are from where the above functions are called. After calling the getCategory() from getProperties(), it breaks the while loop in getProperties(), resulting in only one iteration of the loop, while I have more than one row in the table 'properties'. Can anyone help me to address the issue?
</p>

<pre class="ipsCode prettyprint lang-php prettyprinted"><span class="kwd">function</span><span class="pln"> getProperties</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $s </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM properties"</span><span class="pun">;</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">fpdb</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$s</span><span class="pun">);</span><span class="pln">  </span><span class="com">// Execute the main query</span><span class="pln">

    $result </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">

    </span><span class="com">// Loop through all rows in the result set</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$r </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">fpdb</span><span class="pun">-&gt;</span><span class="pln">fetch_object</span><span class="pun">(</span><span class="typ">Property</span><span class="pun">::</span><span class="kwd">class</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">// Get the category for each property (this will be a subquery)</span><span class="pln">
        $r</span><span class="pun">-&gt;</span><span class="pln">category </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">getCategory</span><span class="pun">(</span><span class="pln">$r</span><span class="pun">-&gt;</span><span class="pln">cid</span><span class="pun">);</span><span class="pln">
        $result</span><span class="pun">[]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $r</span><span class="pun">;</span><span class="pln">  </span><span class="com">// Add to the result array</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="kwd">return</span><span class="pln"> $result</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="kwd">function</span><span class="pln"> getCategory</span><span class="pun">(</span><span class="kwd">int</span><span class="pln"> $id</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> $get </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
    $s </span><span class="pun">=</span><span class="pln"> </span><span class="str">"SELECT * FROM categories WHERE id='$id'"</span><span class="pun">;</span><span class="pln">
    $this</span><span class="pun">-&gt;</span><span class="pln">fpdb</span><span class="pun">-&gt;</span><span class="pln">query</span><span class="pun">(</span><span class="pln">$s</span><span class="pun">);</span><span class="pln">  </span><span class="com">// Execute the subquery</span><span class="pln">
    $r </span><span class="pun">=</span><span class="pln"> $this</span><span class="pun">-&gt;</span><span class="pln">fpdb</span><span class="pun">-&gt;</span><span class="pln">fetch_object</span><span class="pun">(</span><span class="typ">Category</span><span class="pun">::</span><span class="kwd">class</span><span class="pun">);</span><span class="pln">  </span><span class="com">// Fetch the category object</span><span class="pln">

    </span><span class="com">// Return the category or specific field based on the `$get` argument</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$get </span><span class="pun">!=</span><span class="pln"> </span><span class="str">'*'</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $r</span><span class="pun">-&gt;</span><span class="pln">$get </span><span class="pun">:</span><span class="pln"> $r</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span></pre>

<p>
	 
</p>
]]></description><guid isPermaLink="false">63164</guid><pubDate>Fri, 20 Dec 2024 12:34:49 +0000</pubDate></item></channel></rss>
